我搜索之前,我問,沒有幸運..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