>  기사  >  백엔드 개발  >  PHP는 GD 라이브러리를 사용하여 썸네일을 생성합니다.

PHP는 GD 라이브러리를 사용하여 썸네일을 생성합니다.

WBOY
WBOY원래의
2016-07-25 08:43:43802검색
  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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.