当前位置:Gxlcms > PHP教程 > php利用GD库生成缩略图

php利用GD库生成缩略图

时间:2021-07-01 10:21:17 帮助过:5人阅读

  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<$h){
  36. $height=300;
  37. $width=$height/$h*$w;
  38. }else{
  39. $width=300;
  40. $height=300;
  41. }
  42. //创建空白新图片
  43. $newimage=imagecreatetruecolor($width, $height);
  44. //copy源图片内容 copy新图片
  45. imagecopyresized($newimage, $image, 0,0, 0,0, $width, $height, $w, $h);
  46. $filename="upload/s_".$file;
  47. imagejpeg($newimage,$filename);

php

人气教程排行