PHP,从目录中搜索和删除文件 – 性能
发布时间:2020-12-13 17:02:18 所属栏目:PHP教程 来源:网络整理
导读:我想删除目录中的缓存文件,该目录最多可包含50.000个文件.我目前使用这个功能. // Deletes all files in $type directory that start with $start function clearCache($type,$start) { $open = opendir($GLOBALS['DOC_ROOT']."/cache/".$type."/"); while(
我想删除目录中的缓存文件,该目录最多可包含50.000个文件.我目前使用这个功能.
// 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似乎很慢).我可以明显地将缓存移动到内存中. 谢谢, 解决方法
你可能想看看
glob函数,因为它可能更快……它取决于C库的glob命令来完成它的工作.
我没有测试过这个,但我认为这样可行:: foreach (glob($GLOBALS['DOC_ROOT']."/cache/".$type."/".$start) as $file) { unlink($GLOBALS['DOC_ROOT']."/cache/".$type."/".$file); } 编辑:我不确定$file是文件名还是整个路径. glob的文档只暗示文件名. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |