note 95588 modified in function.scandir by thiago
| From: | thiago@php.net | Date: | Mon, 11 Jan 2010 11:30:40 +0000 |
| Subject: | note 95588 modified in function.scandir by thiago | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-164844@lists.php.net to get a copy of this message | ||
Was looking for a simple way to search for a file/directory using a mask. Here is such a function.
By default, this function will keep in memory the scandir() result, to avoid scaning multiple time
for the same directory.
Requires at least PHP5.
<?php
function sdir( $path='.', $mask='*', $nocache=0 ){
static $dir = array(); // cache result in memory
if ( !isset($dir[$path]) || $nocache) {
$dir[$path] = scandir($path);
}
foreach ($dir[$path] as $i=>$entry) {
if ($entry!='.' && $entry!='..' && fnmatch($mask, $entry) ) {
$sdir[] = $entry;
}
}
return ($sdir);
}
?>
--was--
Was looking for a simple way to search for a file/directory using a mask. Here is such a function.
By default, this function will keep in memory the scandir() result, to avoid scaning multiple time
for the same directory.
Requires at least PHP5.
function sdir( $path='.', $mask='*', $nocache=0 ){
static $dir = array(); // cache result in memory
if ( !isset($dir[$path]) || $nocache) {
$dir[$path] = scandir($path);
}
foreach ($dir[$path] as $i=>$entry) {
if ($entry!='.' && $entry!='..' && fnmatch($mask, $entry) ) {
$sdir[] = $entry;
}
}
return ($sdir);
}
http://php.net/manual/en/function.scandir.php