在一个目录中,我有类似 123X1.jpg、23X1.jpg、23X2.jpg、4123X1.jpg 的文件名。我需要 glob 模式来仅获取以所需字符串开头的列出的文件。
例如:
'23X' -> 23X1.jpg, 23X2.jpg
'123X' -> 123X1.jpg
模式的最后一部分始终是 X。第一个是数字。
这很简单glob()
:
print_r(glob('/path/to/23X*.jpg'));
print_r(glob('/path/to/123X*.jpg'));
你可以试试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;
}