我想刪除目錄中的緩存文件,該目錄最多可以包含50.000個文件。我目前使用這個功能。PHP,從目錄搜索和刪除文件 - 性能
// Deletes all files in $type directory that start with $start
function clearCache($type,$start)
{
$open = opendir($GLOBALS['DOC_ROOT']."/cache/".$type."/");
while(($file = readdir($open)) !== false)
{
if (strpos($file, $start)!==false)
{
unlink($GLOBALS['DOC_ROOT']."/cache/".$type."/".$file);
}
}
closedir($open);
}
這工作正常,它是快速的,但有沒有更快的方式來做到這一點? (scan_dir似乎很慢)。我可以將緩存顯然移到內存中。
感謝, 村莊
看起來不錯,首先測試顯示這至少是速度的兩倍。非常感謝! – hamlet 2010-01-07 15:52:13
我沒有使用你的解決方案,但'glob'函數導致我使用'RecursiveDirectoryIterator'的另一個解決方案。謝謝。 – dchayka 2017-05-10 15:37:21