0

我有一个应用程序,它每 5 分钟读取一个 xml 文件(使用 cronjob)并将大约 700 个 url 保存到数据库中的图像中。5 分钟后,大部分图像被删除,该过程再次开始。

如果我将图像保存在本地,我的网站会分配得更快,但我想要一些关于如何做到这一点的建议。

  1. 我尝试使用 fopen、curl - 但一次写这么多图像只会让一切都停止。
  2. 将它们保存为bloob怎么样?这对速度有多大影响?

有任何想法吗?

4

2 回答 2

0

如果您不需要重命名它们,那么为什么不按照这些方式做一些事情(假设 $images 是一个 URL 数组):

foreach($images as $image) {
    exec("wget $image");
}

它比创建和写入文件要快。

于 2012-07-26T05:05:01.417 回答
0

我不建议存储为 blob,而是您可以将本地存储的图像名称保存到数据库中。在 blob 中存储如此多的图像将不必要地占用大量资源。

你可以试试这个。当您访问该 xml 文件时,获取所有 url 并存储到临时表中,例如unsaved_images_url使用 aidurlas 列。

然后在本地从上面的表中获取行并将图像保存在磁盘上。这可以通过 shell 脚本或我不确定的东西来完成。并在本地保存图像后,从数据库中删除该行。

于 2012-07-26T05:10:53.403 回答