2013-08-27 34 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)) { 
    // ... 
} 
相关问题