In a directory I have filenames like 123X1.jpg, 23X1.jpg, 23X2.jpg, 4123X1.jpg. I need the glob pattern to only get listed files starting with a required string.
For example:
'23X' -> 23X1.jpg, 23X2.jpg
'123X' -> 123X1.jpg
Last part part of the pattern is always an X. The first one is a number.
It's trivial with glob()
:
print_r(glob('/path/to/23X*.jpg'));
print_r(glob('/path/to/123X*.jpg'));
You can try RegexIterator
$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS);
$regex = new RegexIterator($fi, "/\dX[a-z\d]+/i");
foreach($regex as $file) {
echo (string) $file, PHP_EOL;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With