PHP 批量压缩图片

minpic方法里传参数图片路径用逗号隔开的逗号字符串

//返回压缩图片路径数组
function minpic($maxpicdata){
    $picdata = explode(',', $maxpicdata);
    array_pop($picdata);    //因为传进来的最后还有一个逗号,所以需要去掉最后一个空数组,看实际情况操作
    foreach($picdata as $p){
        $onepic = substr($p,1);
        $type = explode('.',$onepic);
        $minpic = $type['0'].'min'.'.'.$type['1'];      //重新生成的小图的文件名
        $minpicdata .= '/'.$minpic.',';                  //要返回的逗号字符串路径
        image_png_size_add($onepic,$minpic);    //循环使用压缩的方法
    }
    return $minpicdata;
}

压缩图片方法 参数 图片路径 压缩后的图片文件名

//压缩图片
function image_png_size_add($imgsrc,$imgdst){ 
list($width,$height,$type)=getimagesize($imgsrc);     //获取图片信息
$new_width = ($width<600?600:$width)*0.3;             //设置压缩的大小
$new_height =($height<600?600:$height)*0.3; 
  switch($type){ 
    case 1: 
      $giftype=check_gifcartoon($imgsrc); 
      if($giftype){ 
        header('Content-Type:image/gif'); 
        $image_wp=imagecreatetruecolor($new_width, $new_height); 
        $image = imagecreatefromgif($imgsrc); 
        imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); 
        imagejpeg($image_wp, $imgdst,75); 
        imagedestroy($image_wp); 
      } 
      break; 
    case 2: 
      header('Content-Type:image/jpeg'); 
      $image_wp=imagecreatetruecolor($new_width, $new_height); 
      $image = imagecreatefromjpeg($imgsrc); 
      imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); 
      imagejpeg($image_wp, $imgdst,75); 
      imagedestroy($image_wp); 
      break; 
    case 3: 
      header('Content-Type:image/png'); 
      $image_wp=imagecreatetruecolor($new_width, $new_height); 
      $image = imagecreatefrompng($imgsrc); 
      imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); 
      imagejpeg($image_wp, $imgdst,75); 
      imagedestroy($image_wp); 
      break; 
  } 
}

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 94,063评论 9 468
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 132,310评论 18 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 5,614评论 0 17
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    O感悟人生O阅读 11,389评论 2 34
  • 今天看了得到刘润专栏的更新“别让消极,把你拉入海底”,感触颇深。 其实现在的我,真的已经积极乐观了很多。这两年,我...
    璐籽堡阅读 265评论 0 1