码迷,mamicode.com
首页 > Web开发 > 详细

PHP实现压缩文件夹内所有图片的分辨率

时间:2019-12-17 18:21:53      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:path   损坏   显示   files   扩展   格式   测试   pen   false   

代码兼容gif、png、jpg、jpeg格式,若报warning,则可能是原图片本身有损坏

代码如下:

 

<?php

$path = ‘D:\phpstudy\WWW\ABC\upload\images‘;///当前目录
$handle = opendir($path); //当前目录
while (false !== ($file = readdir($handle))) { //遍历该php文件所在目录

    list($filesname,$kzm)=explode(".",$file);//获取扩展名

    if($kzm=="gif" or $kzm=="jpg" or $kzm=="JPG" or $kzm=="png") { //图片过滤

        if (!is_dir(‘./‘.$file)) { //文件夹过滤

//            print_r($file);
            $filename=$file;
            $per=0.8;
            list($width, $height)=getimagesize($filename);
            $n_w=$width*$per;
            $n_h=$height*$per;
            $new=imagecreatetruecolor($n_w, $n_h);

            if ($kzm==‘png‘) {
               $img= imagecreatefrompng($filename);
            }

            if ($kzm==‘jpg‘) {
                $img=imagecreatefromjpeg($filename);
            }

            if ($kzm==‘gif‘) {
                $img=imagecreatefromgif($filename);
            }

            //拷贝部分图像并调整
            imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);
            //图像输出新图片、另存为
            imagejpeg($new, ‘./new/‘.$filename);
            imagedestroy($new);
            imagedestroy($img);

//若需测试,可以将下面的break和上面的print_r()开起来,在服务器上刷新后只会显示一张图片
//            break;

        }

    }

}

?>

PHP实现压缩文件夹内所有图片的分辨率

标签:path   损坏   显示   files   扩展   格式   测试   pen   false   

原文地址:https://www.cnblogs.com/yite/p/12055835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!