2013-08-27 33 views
1

我有一個根文件夾C:/wamp/www//scanner/scanner/。 對於如:這個文件夾包含目錄imagesworkuploads等我使用功能scan_dir掃描所有文件夾和子文件夾等 我要排除這些擴展名的文件。preg_match使用.jpg/.png擴展名匹配文件

$except = array("rar", "zip", "mp3", "mp4", "mp3", "mov", "flv", "wmv", "swf", "png", "gif", "jpg", "bmp", "avi"); 

請任何人都可以幫助我。

+3

你嘗試過這麼遠嗎?因爲我假設你使用循環來瀏覽文件。爲什麼不忽略那裏的文件類型? –

+1

而不是排除,你如何使用數組作爲你想包含的文件,它將是一個我認爲較小的列表 – Ibu

回答

4

試試這個:

$except = array("rar", "zip", "mp3", "mp4", "mp3", "mov", "flv", "wmv", "swf", "png", "gif", "jpg", "bmp", "avi"); 
$imp = implode('|', $except); 

foreach($files as $file) 
{ 
    if(preg_match('/^.*\.('.$imp.')$/i', $file)) 
     echo $file; 
} 
4

像下面這樣的東西?

$except = array("rar", "zip", "mp3", "mp4", "mp3", "mov", "flv", "wmv", "swf", "png", "gif", "jpg", "bmp", "avi"); 

if (!preg_match('/\.('.implode('|', $except).')$/', $filename, $matches)) { 
    // ... 
} 
相關問題