PHP, search and delete files from directory - performance
file, performance, php, search
Solution
You may want to take a look into the glob function, as it may be even faster... it depends on the C library's glob command to do its work.
I haven't tested this, but I think this would work::
foreach (glob($GLOBALS['DOC_ROOT']."/cache/".$type."/".$start) as $file) {
unlink($GLOBALS['DOC_ROOT']."/cache/".$type."/".$file);
}
Edit: I'm not sure if $file would be just the filename or the entire path. glob's documentation implies just the filename.
Problem
I want to delete cache files in a directory, the directory can contain up to 50.000 files. I currently I use this function. ``` // 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); } ``` This works fine and it is fast, but is there any faster way to do this? (scan_dir seems to be slow). I can move the cache to memory obviously. Thanks, hamlet