PHP-Поиск файлов без учета регистра

мне нужно проверить папку изображений для добавления некоторых изображений продукта. Мой массив списка продуктов имеет SKUs, такие как a48be25, A48be29, A48BE30 и моя папка изображений имеет такие изображения, как a48BE25_1.jpg, a48bE29_2.JPG, A48BE30_1.jpg и так далее.

как вы можете видеть, изображения и SKUs смешаны. Мне нужно как-то сопоставить SKUs с именами файлов. Если я использую glob("my/dir/{$SKU}*.jpg"), он не будет работать в случае чувствительных операционных систем в соответствии с моими знаниями. Есть ли способ заставить glob выполнить поиск без учета регистра?

изменить: Я не думаю, что этот поток является дубликатом этот. Я говорю это, потому что в моем случае у меня может быть много SKU, которые могут иметь смешанные случаи. В упомянутой теме У OP было только слово CSV в смешанных случаях, так glob('my/dir/*.[cC][sS][vV]') может хорошо работать там.

1 ответов


в конечном итоге я получил все изображения из папки и проверил каждый sku в массиве имен изображений.

следующий код решил мою проблему:

$path = $image_path ."/*.{jpg,png,gif}";
$all_images = glob($path, GLOB_BRACE);
$icount = count($all_images);
for($i = 0; $i < $icount; $i++)
{
    $all_images[$i] = str_replace($image_path.'/', '', $all_images[$i]);
}

foreach($products as $product){
    $matches  = preg_grep ('/^'.$product['sku'].'(\w+)/i', $all_images);
}

тем не менее, я хотел бы видеть регистр glob реализованы в будущем.