php 图片剪裁 不同类型判断

hezhong 次浏览

摘要:getimagesize函数Array ( [0] => 1136 [1] => 757 [2] => 2 [3] => width="1136" height="757" [bits] => 8 [channels] => 3 [mime] => image/jpeg )明显可以看出这个图片...

getimagesize函数


Array ( [0] => 1136 [1] => 757 [2] => 2 [3] => width="1136" height="757" [bits] => 8 [channels] => 3 [mime] => image/jpeg )

明显可以看出这个图片的类型是jpeg的,而我在程序里判断的代码如下:

  1. $ext = explode(".",$picname); 

  2. $ext=end($ext); //判断图片类型 www.bcty365.com

  3. switch($ext){ 

  4.     case "png"

  5.          

  6.         $image=imagecreatefrompng($picname); 

  7.         break

  8.     case "jpeg"

  9.          

  10.         $image=imagecreatefromjpeg($picname); 

  11.         break

  12.     case "jpg"

  13.          

  14.         $image=imagecreatefromjpeg($picname); 

  15.         break

  16.     case "gif"

  17.          

  18.         $image=imagecreatefromgif($picname); 

  19.         break


使用$ext = explode(".",$picname);$ext=end($ext);判断图片类型明显有弊端

那该如何优化呢?代码如下
 

  1. $ename=getimagesize($picname); 

  2.   $ename=explode('/',$ename['mime']); 

  3.   $ext=$ename[1]; 

  4.   switch($ext){ 

  5.    case "png"

  6.     

  7.     $image=imagecreatefrompng($picname); 

  8.     break

  9.    case "jpeg"

  10.     

  11.     $image=imagecreatefromjpeg($picname); 

  12.     break

  13.    case "jpg"

  14.     

  15.     $image=imagecreatefromjpeg($picname); 

  16.     break

  17.    case "gif"

  18.     

  19.     $image=imagecreatefromgif($picname); 

  20.     break

  21.   } 


这样获取准确的图片类型,然后在执行裁剪,这样裁剪就没有问题了,奇葩问题。。。。



随机内容