php图片等比压缩代码,支持jpg,png,gif,验证gif动画

来源:互联网 发布:株洲网络买花花店 编辑:程序博客网 时间:2024/05/29 18:19
  1. <?php  
  2. /** 
  3.  * Created by PhpStorm. 
  4.  * User: as 
  5.  * Date: 2016-12-01 
  6.  * Time: 8:38 
  7.  */  
  8. //图片压缩  
  9. function ImageCondens($filepase){  
  10.     list($new_width,$new_height,$imgtype)=getimagesize($filepase);  
  11.     if($new_width>550){//550为自定义宽度  
  12.         $scaling=$new_width/550;//缩放比例  
  13.         $picwidth=($new_width/$scaling);  
  14.         $picheight=($new_height/$scaling);  
  15.     }else{  
  16.         $picwidth=$new_width;  
  17.         $picheight=$new_height;  
  18.     }  
  19.     switch ($imgtype){  
  20.         case 1:  
  21.          $fp=fopen($filepase,'rb');  
  22.          $image_head = fread($fp,1024);  
  23.             fclose($fp);  
  24.          if(preg_match("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$image_head)){//屏蔽gif动画  
  25.              echo "<script>alert('系统不支持GIF动画图片');</script>";  
  26.          }else{  
  27.              if($image_head){  
  28.                  header('Content-Type:image/gif');  
  29.                  $img_wp=imagecreatetruecolor($picwidth,$picheight);  
  30.                  $img=imagecreatefromgif($filepase);  
  31.                  imagecopyresampled($img_wp,$img,0,0,0,0,$picwidth,$picheight,$new_width,$new_height);  
  32.                  imagejpeg($img_wp,null,100);  
  33.                  imagedestroy($img_wp);  
  34.              }  
  35.          }  
  36.          break;  
  37.         case 2:  
  38.             header('Content-Type:image/jpeg');  
  39.             $img_wp=imagecreatetruecolor($picwidth,$picheight);  
  40.             $img = imagecreatefromjpeg($filepase);  
  41.             imagecopyresampled($img_wp,$img,0,0,0,0,$picwidth,$picheight,$new_width,$new_height);  
  42.             imagejpeg($img_wp,null,100);  
  43.             imagedestroy($img_wp);  
  44.             break;  
  45.         case 3:  
  46.             header('Content-Type:image/png');  
  47.             $img_wp=imagecreatetruecolor($picwidth,$picheight);  
  48.             $img = imagecreatefrompng($filepase);  
  49.             imagecopyresampled($img_wp,$img,0,0,0,0,$picwidth,$picheight,$new_width,$new_height);  
  50.             imagejpeg($img_wp,null,100);  
  51.             imagedestroy($img_wp);  
  52.             break;  
  53.     }  
  54.   
  55. }  
  56.   
  57. ImageCondens("images/3.jpg"); 
原创粉丝点击