当前位置:首页 > PHP教程 > php上传下载 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-20 16:53:34 浏览: 评论:0 

这篇文章主要介绍了php实现从上传文件创建缩略图的方法,涉及php操作上传文件及图片操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

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

  1. <?php 
  2. if ($_REQUEST['action']=="add"){ 
  3. $userfile = $HTTP_POST_FILES['photo']['tmp_name']; 
  4. $userfile_name = $HTTP_POST_FILES['photo']['name']; 
  5. $userfile_size = $HTTP_POST_FILES['photo']['size']; 
  6. $userfile_type = $HTTP_POST_FILES['photo']['type']; 
  7. /////////////////////////  
  8. //GET-DECLARE DIMENSIONS // 
  9. $dimension = getimagesize($userfile); 
  10. $large_width = $dimension[0]; // GET PHOTO WIDTH 
  11. $large_height = $dimension[1]; //GET PHOTO HEIGHT 
  12. $small_width = 120; // DECLARE THUMB WIDTH 
  13. $small_height = 90; // DECLARE THUMB HEIGHT 
  14. ///////////////////////// 
  15. //CHECK SIZE // 
  16. if ($userfile_size>102400){ 
  17.    $error=1; 
  18.    $msg = "The photo is over 100kb. Please try again."
  19. //////////////////////////////// 
  20. // CHECK TYPE (IE AND OTHERS) // 
  21. if ($userfile_type="image/pjpeg"){ 
  22.   if ($userfile_type!="image/jpeg"){ 
  23.     $error=1; 
  24.     $msg = "The photo must be JPG"
  25.   } 
  26. ////////////////////////////// 
  27. //CHECK WIDTH/HEIGHT // 
  28. if ($large_width!=600 or$large_height!=400){ 
  29. $error=1; 
  30. $msg = "The photo must be 600x400 pixels"
  31. /////////////////////////////////////////// 
  32. //CREATE THUMB / UPLOAD THUMB AND PHOTO /// 
  33. if ($error<>1){ 
  34.   $image = $userfile_name//if you want to insert it to the database 
  35.   $pic = imagecreatefromjpeg($userfile); 
  36.   $small = imagecreatetruecolor($small_width,$small_height); 
  37.   imagecopyresampled($small,$pic,0,0,0,0, $small_width$small_height$large_width$large_height); 
  38.   if (imagejpeg($small,"path/to/folder/to/upload/thumb".$userfile_name, 100)){   
  39.     $large = imagecreatetruecolor($large_width,$large_height); 
  40.   imagecopyresampled($large,$pic,0,0,0,0, $large_width$large_height$large_width$large_height); 
  41.     if (imagejpeg($large,"path/to/folder/to/upload/photo".$userfile_name, 100)) 
  42.    {} 
  43.       else {$msg="A problem has occured. Please try again."$error=1;} 
  44.   } 
  45.   else { 
  46.    $msg="A problem has occured. Please try again."$error=1; 
  47.   } 
  48. ////////////////////////////////////////////// 
  49. /// If everything went right a photo (600x400) and 
  50. /// a thumb(120x90) were uploaded to the given folders 
  51. ?> 
  52. <html><head><title>create thumb</title></head> 
  53. <body> 
  54. <form name="form1" enctype="multipart/form-data" action="thisfile.php?action=add" method="post"
  55. Select Photo: <input type="file" name="photo"
  56. <input type="submit" name="submit" value="CREATE THUMB AND UPLOAD"
  57. </form> 
  58. </body 
  59. </html>

Tags: php上传文件 php创建缩略图

分享到: