使用php扫描50,000+图像目录的快速方法

时间:2016-04-04 00:43:43

标签: php

我的图片按产品ID进行整理。 XX-1.JPG XX-2.JPG XX-3.JPG

要查找1个产品的图像,我使用以下方法。

$all_images[$resolution]=glob("/home/imgimportsinc/public_html/sharing/images_by_product_id/{$resolution}/*.jpg");

然后我在数组中查找产品ID。 我有一个执行上述操作的cron作业,缓存存储每个产品的图像URL,这样我就不必每次都扫描图像。

我做得对吗,还是有更快/更准确/更合适的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以将glob用于此

$dirname = "/home/imgimportsinc/public_html/sharing/";
$images = glob($dirname."*{$resolution}-*.{$extention}");
foreach($images as $image) {
    echo '<img src="'.$image.'" /><br />';
}

答案 1 :(得分:0)

为了完整起见,评论已经提供了提示,搜索次数越少,计算时间越短。如果您可以跟踪删除/插入,您可以使用ID动态构建路径。

如果您不需要排序的元素,使用 GLOB_NOSORT 作为标记的另一个小提示可以显着缩短计算时间。