php GD库生成缩略图的例子

原创
2016-07-25 08:54:51 649浏览
  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);
复制代码


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。