减少在文件夹中搜索图像的时间

时间:2013-05-20 08:31:05

标签: php performance directory

我在PHP中构建了一个站点,用户可以在其中选择他们想要查看的图像文件夹。有多个文件夹,每个文件夹有超过10,000个图像。

但是,我只是想在每个文件夹中找到最新的图像,但这需要很长时间。我怎样才能加快速度呢?

修改

$file = new GlobIterator($d.'*.jpg', FilesystemIterator::KEY_AS_FILENAME);
foreach ($file as $f) {
    $files[] = $d.$f->getFilename();
}
sort($files, SORT_NATURAL | SORT_FLAG_CASE);
$path = end($files);
return $path;

1 个答案:

答案 0 :(得分:1)

而不是实时扫描每个目录(我猜这是你正在做的 - 由于你的问题中的信息很少而很难分辨),如果你存储meta,你可以避免这个速度问题有关数据库中每个映像的信息(包括磁盘上文件的路径 - 不将实际映像存储在数据库中)。

通过这样做,只要您拥有必要的字段/相应的索引,您就可以根据上次添加的条件等进行高速搜索。

N.B。:确保数据库和文件系统保持同步非常重要,因此请确保通过代码执行删除操作(这将删除数据库记录和磁盘上的文件)。