下面的语句将加载所有不以下划线字符开头的图像...
if (!is_dir($file) && preg_match("/^[^_].*\.(bmp|jpeg|gif|png|jpg)$/i", $file))
我需要修改它,以便它只加载带有下划线的DO BEGIN图像。
答案 0 :(得分:7)
只需删除字符集上的否定:[^_]
变为_
:
if (!is_dir($file) && preg_match("/^_.*\.(bmp|jpeg|gif|png|jpg)$/i", $file))
答案 1 :(得分:4)
尝试glob()
将文件路径名与模式匹配,例如
glob('_*.{jpg,jpeg,gif,png,bmp}', GLOB_BRACE);
获取以下划线开头并以花括号中给出的任何扩展名结尾的所有文件。
或者,查看fnmatch()
以检查模式的文件名。
此外,如果您想确保图片确实是图片,请考虑checking against the MimeType而不是扩展名。