我搜索之前,我问,没有幸运..php scandir - >搜索文件/目录
我寻找一个简单的脚本为我自己,我可以搜索文件/文件夹。在php手册中找到这段代码片段(我想我需要这个),但这对我没有用。
“正在寻找一种简单的方法来搜索使用掩模的文件/目录。这里有这样的功能。
默认情况下,该功能会在内存中保存SCANDIR()的结果,以避免scaning多次为同一个目录。“
<?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);
}
?>
感谢您的帮助,
彼得
感谢您的答案,Artefacto-S解决方案是为我好,但是!有没有正则表达式类似的解决方案?或者什么是正则表达式,当我只想使用/不使用掩码搜索文件名时? 例如:stackoverflow.zip,我想搜索“溢出”或“堆栈”或“计算器”... 非常感谢! – Peter 2010-05-21 15:49:06
为此,您只需要正则表达式'overflow','stack'和'stackoverflow'。这三个匹配“stackoverflow.zip”。你可以用这种简单的方式使用正则表达式,你只需要小心地转义具有特殊含义的字符。 – Artefacto 2010-05-21 16:38:56
太简单了!非常感谢你! – Peter 2010-05-21 16:49:21