php [php:imgCompress()]注意旧代码。 #PHP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php [php:imgCompress()]注意旧代码。 #PHP相关的知识,希望对你有一定的参考价值。

<?php
// 1. ある特定のディレクトリを参照し、中にいくつディレクトリがあるか数える
// 2. ディレクトリがあるだけ中の画像ファイル(jpg)を参照して、ファイルサイズが $size を超えるようなら圧縮処理をかける
set_time_limit(0);

// メイン関数
function imgCompress($src,$size,$comp) {
    $fs = @filesize($src);
    $jpg = @imagecreatefromjpeg($src);
    while($fs > $size && $comp > 0) {
        @imagejpeg($jpg, $src, $comp);
        $fs = filesize($src);
        @clearstatcache();
        $comp = $comp-5;
    }//while
    @imagedestroy($jpg);
}

    $size = 90000;
    $comp = 90;
    $count = 0;
    $dir_count = 0;
    $compressed = [];
    $path = "./img/profile";
    $files = scandir($path);
    foreach ($files as $value) {
        if(is_dir($path."/".$value)){
            $res_dir = opendir($path."/".$value);
            while($file_name = readdir($res_dir)){
                if (preg_match("/.+\.jpg$/i", $file_name) && filesize($path."/".$value."/".$file_name) > $size) {
                    compression($path."/".$value."/".$file_name,$size,$comp);
                    $count++;
                    array_push($compressed,$path."/".$value."/".$file_name);
                }
            }
            closedir($res_dir);
            $res_dir = null;
            $dir_count++;
        }//if
    }//foreach
    echo $dir_count." 個のディレクトリを検出し<br>";
    echo "<br>";
    echo $count." 個のファイルに対して圧縮をかけました!!<br>";
    echo "<br>";
    foreach ($compressed as $key => $value) {
        echo $key." : ".$value."<br>";
    }

以上是关于php [php:imgCompress()]注意旧代码。 #PHP的主要内容,如果未能解决你的问题,请参考以下文章

PHP PHP - 注意旧的PHP版本

php [php:imgResizer()]注意旧代码。 #PHP

php [php:UA开关]注意旧代码。 #PHP

php [php:在Heredoc中使用DEFINE]注意旧代码。 #PHP

php [php:过度执行时间的过程]注意旧代码。 #php #js

PHP需注意的10个特性