多cURL 5000网址

时间:2013-06-04 09:48:04

标签: php mysql curl limit file-get-contents

我需要使用db条目检查损坏的图像。所以现在我从表中选择所有项目并使用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(),但它也花了很多时间。

1 个答案:

答案 0 :(得分:1)

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

  1. 使用multi_curl以并行方式cURL图像。
  2. 仅指定标题(因为您对图像数据不感兴趣),如果状态代码不是200 OK(或302 / Found),则图像不存在。
  3. 首先对5000个项目进行分块,不要使用multi_curl运行它们。一次约50-100件物品。