我有超过10万张图片要检查,但是经过几张检查(例如100张)后,脚本停止了。如何使用一定的限制使脚本继续运行而不删除现有的图像?

这是我的代码:

$images = scandir("../upload", 1);

foreach ($images as $itemlc)
{
    $res=mysql_query("SELECT * FROM $table WHERE rimage='$itemlc'");
    $count = mysql_num_rows($res);
    if($count == 0)
    {
        $file_path = '../images/';
        $src=$file_path.$itemlc;
        @unlink($src);
        echo $itemlc; echo " <b>deleted</b> <br> ";
    }
}

最佳答案

除了设置

set_time_limit(0);  //if safe mode off
ini_set('max_execution_time', 0); //if safe mode on


您应该索引使用WHERE的列(至少是临时的)。

或使用单个查询将数据提取到简单数组中,然后如果服务器非常脆弱,则从此数组中检查数据。

如果可以的话,请从命令行运行它

php index.php


看到更快的输出

10-04 12:37