Regex help: Match any image file beginning with an underscore
The statement below will load all images that do not begin with an underscore character...
if (!is_dir($file) && preg_match("/^[^_].*\.(bmp|jpeg|gif|png|jpg)$/i", $file开发者_如何学Go))
I need to modify it so that it only loads images that DO BEGIN with an underscore.
Just remove the negation on the character set: [^_]
becomes _
:
if (!is_dir($file) && preg_match("/^_.*\.(bmp|jpeg|gif|png|jpg)$/i", $file))
Try glob()
to match file pathnames against a pattern, e.g.
glob('_*.{jpg,jpeg,gif,png,bmp}', GLOB_BRACE);
to get all files starting with an underscore and ending in any of the extensions given in the curly braces.
Alternatively, have a look at fnmatch()
to check a filename against a pattern.
In addition, if you want to make sure the images are really images, consider checking against the MimeType instead of or in addition to the extension.
精彩评论