欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php实现从上传文件创建缩略图的方法

程序员文章站 2024-02-05 15:20:16
本文实例讲述了php实现从上传文件创建缩略图的方法。分享给大家供大家参考。具体实现方法如下:

本文实例讲述了php实现从上传文件创建缩略图的方法。分享给大家供大家参考。具体实现方法如下:

<?php
if ($_request['action']=="add"){
$userfile = $http_post_files['photo']['tmp_name'];
$userfile_name = $http_post_files['photo']['name'];
$userfile_size = $http_post_files['photo']['size'];
$userfile_type = $http_post_files['photo']['type'];
///////////////////////// 
//get-declare dimensions //
$dimension = getimagesize($userfile);
$large_width = $dimension[0]; // get photo width
$large_height = $dimension[1]; //get photo height
$small_width = 120; // declare thumb width
$small_height = 90; // declare thumb height
/////////////////////////
//check size //
if ($userfile_size>102400){
   $error=1;
   $msg = "the photo is over 100kb. please try again.";
}
////////////////////////////////
// check type (ie and others) //
if ($userfile_type="image/pjpeg"){
  if ($userfile_type!="image/jpeg"){
    $error=1;
    $msg = "the photo must be jpg";
  }
}
//////////////////////////////
//check width/height //
if ($large_width!=600 or$large_height!=400){
$error=1;
$msg = "the photo must be 600x400 pixels";
}
///////////////////////////////////////////
//create thumb / upload thumb and photo ///
if ($error<>1){
  $image = $userfile_name; //if you want to insert it to the database
  $pic = imagecreatefromjpeg($userfile);
  $small = imagecreatetruecolor($small_width,$small_height);
  imagecopyresampled($small,$pic,0,0,0,0, $small_width, $small_height, $large_width, $large_height);
  if (imagejpeg($small,"path/to/folder/to/upload/thumb".$userfile_name, 100)){  
    $large = imagecreatetruecolor($large_width,$large_height);
  imagecopyresampled($large,$pic,0,0,0,0, $large_width, $large_height, $large_width, $large_height);
    if (imagejpeg($large,"path/to/folder/to/upload/photo".$userfile_name, 100))
   {}
      else {$msg="a problem has occured. please try again."; $error=1;}
  }
  else {
   $msg="a problem has occured. please try again."; $error=1;
  }
}
//////////////////////////////////////////////
/// if everything went right a photo (600x400) and
/// a thumb(120x90) were uploaded to the given folders
}
?>
<html><head><title>create thumb</title></head>
<body>
<form name="form1" enctype="multipart/form-data" action="thisfile.php?action=add" method="post">
select photo: <input type="file" name="photo">
<input type="submit" name="submit" value="create thumb and upload">
</form>
</body
</html>

希望本文所述对大家的php程序设计有所帮助。