PHP - 不区分大小写的文件搜索

PHP - Case insensitive File Search

我需要检查图像文件夹以添加一些产品图像。我的产品列表数组有 a48be25, A48be29, A48BE30 等 SKU,我的图片文件夹有 a48BE25_1.jpg, a48bE29_2.JPG, A48BE30_1.jpg 等图片。

如您所见,图片和 SKU 是混合在一起的。我需要以某种方式将 SKU 与文件名相匹配。据我所知,如果我使用 glob("my/dir/{$SKU}*.jpg"),它将无法在区分大小写的操作系统中运行。有没有办法强制 glob 以不区分大小写的方式进行搜索?

编辑:我不认为该线程与 this one 重复。我这样说是因为在我的例子中,我可以有很多可能有混合案例的 SKU。在提到的线程中,OP 在混合情况下只有 CSV 这个词,所以 glob('my/dir/*.[cC][sS][vV]') 在那里可以很好地工作。

我最终从文件夹中获取所有图像并检查图像名称数组中的每个 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