3
我目前正在嘗試製作一個腳本,該腳本將在目錄和子目錄中查找帶* .jpg/* .png擴展名的圖像。以遞歸方式查找帶有特定擴展名的圖像
如果找到一些帶有其中一個擴展名的圖片,那麼將其保存到具有路徑,名稱,大小,高度和寬度的數組中。
到目前爲止,我有這段代碼,它會找到所有文件,但我不知道如何獲得只有JPG/PNG圖像。
class ImageCheck {
public static function getDirectory($path = '.', $level = 0){
$ignore = array('cgi-bin', '.', '..');
// Directories to ignore when listing output.
$dh = @opendir($path);
// Open the directory to the handle $dh
while(false !== ($file = readdir($dh))){
// Loop through the directory
if(!in_array($file, $ignore)){
// Check that this file is not to be ignored
$spaces = str_repeat(' ', ($level * 4));
// Just to add spacing to the list, to better
// show the directory tree.
if(is_dir("$path/$file")){
// Its a directory, so we need to keep reading down...
echo "<strong>$spaces $file</strong><br />";
ImageCheck::getDirectory("$path/$file", ($level+1));
// Re-call this same function but on a new directory.
// this is what makes function recursive.
} else {
echo "$spaces $file<br />";
// Just print out the filename
}
}
}
closedir($dh);
// Close the directory handle
}
}
我調用這個函數在我的模板,這樣
ImageCheck::getDirectory($dir);
我可能會將正則表達式調整爲'/^.+ \(。jpe?g | .png)$/i'',但使用SPL時爲+1 –
謝謝,我會試試看。 :) – George