以下代码在 Firefox 上正确执行,但在 Chrome 上不正确。后者始终显示“ERR_RESPONSE_HEADERS_TOO_BIG”。当我遍历包含超过 10000 个项目(文件)的文件夹时会发生此错误 - 它必须是长任务。
请谁能解释我如何避免这个错误?如果我在 ob_end_clean(); 之后“回显”某些内容,错误就会消失;
<?php
ini_set('max_execution_time', 600);
function FileItemsCount($it, &$count_ref)
{
foreach ($it as $file)
{
$count_ref += 1;
ob_start();
session_start();
$_SESSION['progress'] = $count_ref;
session_write_close();
ob_end_clean() ;
$is_folder = $it->hasChildren();
if ($is_folder)
{
FileItemsCount($it->getChildren(), $count_ref);
}
}
}
$dir = "C:/Users/sstefanov/xampp";
$it = new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS);
$count = 0;
FileItemsCount($it, $count);
echo $count;
?>