Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多个URL_Php_Mysql_Curl_Limit_File Get Contents - Fatal编程技术网

Php 多个URL

Php 多个URL,php,mysql,curl,limit,file-get-contents,Php,Mysql,Curl,Limit,File Get Contents,我需要检查带有db条目的损坏图像。所以现在我从表中选择所有项目,并使用CURL检查它是否损坏。我在DB中有将近5000个项目,CURL需要花费很多时间。其中一个结果是,总时间显示为0.07秒。我的表格结构如下: +----+----------------------------------------+ | id | image_url | +----+----------------------------------------+

我需要检查带有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 |
+----+----------------------------------------+

那么有没有其他办法来检查损坏的图像呢?。我想我不能在这里使用限制,因为我需要检查所有项目,然后打印结果。我有用户文件\u get\u contents(),但这也需要花费很多时间。

您可以在这里执行以下操作:

  • 使用multi_curl平行卷曲图像
  • 仅指定标题(因为您对图像数据不感兴趣),如果状态代码不是200 OK(或302/Found),则图像不存在
  • 首先将5000个项目分块,不要使用multi_curl运行所有项目。一次大约50-100件就可以了

  • 分而治之:)也许使用ajax进行检查分而治之会更快,或者只检查部分数据的脚本会更少。取决于是否要保存检查结果。我正在将数据存储到数组中,并将其输出到报表中。是否有大量重复的URL,如示例数据中的URL?使用
    DISTINCT
    抑制重复项。否。完全没有重复的URL:(谁拥有服务器
    s3.xxx.com
    ?如果你有办法获得
    /images/
    内容列表,你可以将其加载到一个表中并运行一个连接查询。你将如何处理断开的图像链接?你的目标是从数据库中删除它们吗?一个更简单的方法不是从你这边提取文件名列表,并将其发送到数据库吗管理员可以对他们运行
    ls
    ?@AlwinAugustin是你的服务器还是一个外部站点?@silkfire反正我解决了这个问题。不是通过CURL。我有一个cron可以检查丢失的图像并发送邮件。所以现在我每天都将丢失的所有图像插入DB,并准备来自它的报告。谢谢男人:)我用这个:作为参考来实现类似的事情。