Шаблоны регулярных выражений Glob

У меня есть папка с несколькими изображениями, но меня интересуют изображения с таким названием: "Images_123456_nature_XL.jpg, Images_458599_3d_L.jpg, Images_065455_animals_XL.jpg", Так что попробуйте glob функционировать так:

$images = glob($value."/^Images_(\d+)_([a-zA-Z]+)_([A-Z]+).{jpg,png,gif}", GLOB_BRACE);

Но это не похоже на работу. Помогите с этим! Очень признателен.

0

Решение

Glob () не принимает регулярные выражения, он использует простые шаблоны, только заменяя * джокеры чем-нибудь, и? одним персонажем.

Вы можете попробовать что-то вроде:

$files = array_filter(glob('*.{jpg,png,gif}', GLOB_BRACE), function($file) {
return preg_match('/^Images_(\d+)_([a-zA-Z]+)_([A-Z]+)\.(jpg|png|gif)$/', basename($file));
});

Это не очень эффективно с точки зрения памяти (поскольку glob () вернет все файлы до того, как вы ее отфильтруете), но это работает, по крайней мере.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]