使用不区分大小写的方式扫描目录中的图像文件

时间:2013-07-12 14:32:08

标签: php search case-insensitive

3年前,有人问过这个问题(Can PHP's glob() be made to find files in a case insensitive manner?),我仍然在寻找使用php脚本的更好的解决方案:

我目前正在使用:

$images = glob("" . $directory . "{*.jpg,*.gif,*.png,*.Jpg,*.Gif,*.Png,
*.JPg,*.GIf,*.PNg,*.JPG,*.GIF,*.PNG,*.jPG,*.gIF,*.pNG,*.jpG,*.giF,*.pnG}",
GLOB_BRACE);

从特定目录扫描图像文件,只是想知道是否有更简单的替代方案。我试过了:

$images = glob("" . $directory . "{/*.jpg,*.gif,*.png/i}";

显然它没有用。

或者,是否有sql_regcase()的替换?

感谢您的教学

1 个答案:

答案 0 :(得分:0)

也许这对你有用

$allowed = array("jgp","png", "gif");
$images = glob($directory, "*.*");
$images = array_filter($images, function($a) use ($allowed){
     $ext = substr($a, strrpos($a,"."));
     return in_array(strtolower($ext), $allowed");
});