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

Posted 笨小孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP实现压缩文件夹内所有图片的分辨率相关的知识,希望对你有一定的参考价值。

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

代码如下:

 

<?php

$path = ‘D:phpstudyWWWABCuploadimages‘;///当前目录
$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实现压缩文件夹内所有图片的分辨率的主要内容,如果未能解决你的问题,请参考以下文章

php遍历输出文件夹内包含指定关键字图片

java如何实现把一个大图片压缩到指定大小的图片且长宽比不变

python颜色压缩的结果颜色比保存颜色深

(DELPHI)已经存入SQLSERVER中的图片数据(image字段)太大,怎么直接在数据库中压缩?或怎么用程序实现

PHP高清晰度无损图片压缩功能的实现代码

PHP实现图片压缩同时保持清晰度