我制作了程序来偶尔扫描目录,然后删除旧的缓存文件。
通常缓存文件的数量非常大,我得到了内存不足的错误。
glob(cacheme_directory()."*");
如何使 glob 返回有限数量的文件?先说 50000。然后我们将删除它们,然后在下一个会话中我们可以再次删除,等等。
我需要减少使用的内存量。因此加载整个东西然后删除东西是行不通的。
这是完整的程序
if (mt_rand(0,1000)==0)
{
$files = glob(cacheme_directory()."*");
foreach($files as $file)
{
$filemtime=filemtime ($file);
if (is_file($file) && time()-$filemtime>= $cacheAge)
{
unlink($file);
}
}
}