我需要检查image文件夹是否添加了一些产品图片。我的产品列表数组有sku,如a48be25, A48be29, A48BE30
,我的图像文件夹有图像,如a48BE25_1.jpg, a48bE29_2.JPG, A48BE30_1.jpg
,等等。
可以看到,图像和sku是混合的。我需要把sku和文件名匹配起来。如果我使用glob("my/dir/{$SKU}*.jpg")
,据我所知,它将无法在大小写敏感的操作系统中工作。是否有一种方法可以强制glob
以不区分大小写的方式进行搜索?
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
。