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

php GD库生成缩略图的例子

程序员文章站 2024-02-09 12:01:46
...
  1. header("content-type:text/html;charset=gbk");
  2. ini_set("date.timezone","Asia/chong");
  3. //判断文件是否为空
  4. if(empty($_FILES)){
  5. echo"上传文件过大";
  6. exit;
  7. }
  8. //判断文件上传是否有错误
  9. if($_FILES['pic']['error']){
  10. echo "上传文件";
  11. exit;
  12. }
  13. //判断文件类型是否非法获取文件后缀
  14. $allowtype=array("jpg","png","jpeg","gif");
  15. $a=explode('.',$_FILES['pic']['name']);
  16. $index=count($a)-1;
  17. $ex=strtolower($a[$index]);
  18. if(!in_array($ex,$allowtype)){
  19. echo "上传文件非法";
  20. exit;
  21. }
  22. $file=date('YmdHis').rand().".".$ex;
  23. $src=$_FILES['pic']['tmp_name'];
  24. $des="upload/".$file;
  25. $rs=move_uploaded_file($src,$des);
  26. //缩略图

  27. //读取已上传图片
  28. $image=imagecreatefromjpeg($des);
  29. $a=getimagesize($des);
  30. $w=$a[0];
  31. $h=$a[1];
  32. if($w>$h){
  33. $width=300;
  34. $height=$width/$w*$h;
  35. }else if($w$height=300;
  36. $width=$height/$h*$w;
  37. }else{
  38. $width=300;
  39. $height=300;
  40. }
  41. //创建空白新图片
  42. $newimage=imagecreatetruecolor($width, $height);
  43. //copy源图片内容 copy新图片
  44. imagecopyresized($newimage, $image, 0,0, 0,0, $width, $height, $w, $h);
  45. $filename="upload/s_".$file;
  46. imagejpeg($newimage,$filename);
复制代码