Reputation: 975
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.
Upvotes: 6
Views: 9342
Reputation: 154623
It's trivial with glob()
:
print_r(glob('/path/to/23X*.jpg'));
print_r(glob('/path/to/123X*.jpg'));
Upvotes: 9
Reputation: 95131
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;
}
Upvotes: 1