在php中创建文件扫描器时如何修复超时

Chr*_*ure 0 php mysqli web-crawler

大家好,我正在尝试使用文件扫描仪并将数据添加到要保存在数据库中的文件,几乎扫描仪扫描了 15,000 个文件,但时间最多只有一半的目录。我的代码看起来像这样

<?php 
$dir = scandir("manual/");
//saving results
$db = mysqli_connect('localhost','test','test123','tests');
foreach ($dir as $file) {
    if ($file != ".." AND $file != "." AND !empty($file)) {
        $coll = explode(".", $file);
        array_pop($coll);
        $fname = $coll['0'];
        $lname = $coll['1'];
        $query = "INSERT INTO `data`(`fname`, `lname`, `directory`) VALUES ('$fname' ,'$lname','$file')";
        //inserting the query into a  sql file
        $db->query($query);
        //data
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

Ami*_*UIS 7

您可以增加执行时间,因此您应该将它放在 PHP 脚本的顶部

ini_set('max_execution_time', 300); //300 seconds = 5 minutes
Run Code Online (Sandbox Code Playgroud)

另一种方法是更改​​ php.ini 中的一些设置:

max_execution_time = 300
Run Code Online (Sandbox Code Playgroud)

  • @ChrisNgure 如果您不知道脚本运行需要多长时间,您可以使用这一行代替 PHP 脚本顶部的 `ini_set('MAX_EXECUTION_TIME', '-1');` (2认同)