我正在閱讀單個目錄中的所有文件,並且我想過濾JPG,JPEG,GIF和PNG。使用正則表達式檢查PHP中的文件擴展名
都是大小寫字母。這些是唯一被接受的文件。我目前正在使用這個
:
$testPics = takeFiles($picsDir, "([^\s]+(?=\.(jpg|JPG|jpeg|JPEG|png|PNG|gif|GIF))\.\2)");
和功能takeFiles看起來是這樣的:
function takerFiles($dir, $rex="") {
$dir .= "/";
$files = array();
$dp = opendir($dir);
while ($file = readdir($dp)) {
if ($file == '.') continue;
if ($file == '..') continue;
if (is_dir($file)) continue;
if ($rex!="" && !preg_match($rex, $file)) continue;
$files[] = $file;
}
closedir($dp);
return $files;
}
,它始終沒有返回。所以,我的正則表達式代碼肯定有問題。
你必須逃脫點。 – Mark 2008-11-26 15:50:33
謝謝馬克,修好了。 D'哦! – 2008-11-26 15:55:47
@PhillSacre到SpawEditor的鏈接已過期。你能否更新你的答案? – 2016-12-22 10:56:47