首頁 >後端開發 >php教程 >php GD庫產生縮圖的例子

php GD庫產生縮圖的例子

WBOY
WBOY原創
2016-07-25 08:54:51934瀏覽
  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);

复制代码


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn