Я проверил два других ответа, но, похоже, не может соответствовать диапазону чисел в имени файла
Мне нужно сопоставить 1.jpg с чем-то до 99.jpg (без начальных нулей и без префикса или суффикса), просто просто digits.jpg
glob("$dir/{1..99}.jpg", GLOB_BRACE);
и я также пробовал:
glob("$dir/{" . implode(",", range(1, 99)) . "}.jpg", GLOB_BRACE);
Следующие совпадения только 1.jpg к 9.jpg но не 10,11 etc
glob("$dir/[0-9].jpg", GLOB_BRACE);
Следующие пункты ничего не соответствуют:
glob("$dir/[0-9]+.jpg", GLOB_BRACE);
Я уже проверил решения в PHP glob range, почему? и сопоставление шаблона php glob для количества чисел в арбитраже
Попробуй это:
glob("$dir/{,[1-9]}[0-9].jpg", GLOB_BRACE);
Опция GLOB_BRACE
указывает, что она распознает альтернативы в фигурных скобках, поэтому {,[1-9]}
соответствует либо пустой строке, либо ненулевой цифре. Затем за ней следует любая цифра. Таким образом, с пустой строкой она совпадает с 0
по 9
, а с ненулевой цифрой она соответствует от 10
до 99
.