0

我用 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;
4

1 回答 1

1

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

通过这样做,只要您设置了必要的字段/适当的索引,您就可以根据上次添加等条件进行高速搜索。

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

于 2013-05-20T08:35:39.957 回答