3

我需要使用数据库条目检查损坏的图像。所以现在我从表中选择所有项目并使用 CURL 检查它是否损坏。我在 DB 中有近 5000 个项目,CURL 需要很多时间。对于一个结果,它显示总时间为 0.07 秒。我的表结构如下:

+----+----------------------------------------+
| id |               image_url                |
+----+----------------------------------------+
|  1 | http://s3.xxx.com/images/imagename.gif |
|  2 | http://s3.xxx.com/images/imagename.gif |
|  3 | http://s3.xxx.com/images/imagename.gif |
|  4 | http://s3.xxx.com/images/imagename.gif |
+----+----------------------------------------+

那么还有其他方法可以检查损坏的图像吗?我想我不能在这里使用 LIMITS 因为我需要检查所有项目然后打印结果。我有用户 file_get_contents() 但它也需要很多时间。

4

1 回答 1

1

您可以在此处执行以下操作:

  1. 使用 multi_curl 并行卷曲图像。
  2. 仅指定标题(因为您对图像数据不感兴趣),如果状态代码不是 200 OK(或 302/Found),则图像不存在。
  3. 首先将 5000 个项目分块,不要使用 multi_curl 全部运行它们。一次大约 50-100 件就可以了。
于 2013-06-04T09:51:53.727 回答