2010-04-15 136 views
0

我会写一个WordPress插件来解析所有的图片来源,并检查它是否断开链接。 我的想法是:CURL vs fopen vs fsocketopen?

  1. 选择所有从MySQL
  2. 导航图像URL通过正则匹配&页的图像,并获得响应头(404,403错误等)
  3. 打印报告

因为我不需要真正的下载二进制文件,所以在性能上,比较在CURL,fopen,fsocketopen 哪一个是最差的使用?

还有一个问题,哪种方法可以在多线程中执行?

回答

4

打开到远程服务器的连接的开销使该库的性能成为一个相当不实际的问题。换句话说,它不值得担心功能的表现。

更好的选择是使用wse任何函数都可以让你创建HEAD请求(只返回HTTP头)。虽然你可以用fsockopen(我不知道关于fopen)做到这一点,但是当cURL已经编写了代码来发送请求并解析响应时,这是很多工作。

有关如何使用cURL see this answer执行头部请求的示例。

还有一个问题,哪种方法可以在多线程中执行?

PHP不具有线程

+0

虽然这是真的,PHP是不是线程正因为如此,请务必在curl_multi *函数读了(http://www.php.net/manual /en/function.curl-multi-init.php),因为它可能并行地提取多个curl请求。为了更深入地了解如何解决这个问题,我可以强烈推荐Stoyan Stefanov的写作:(http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/) – 2012-05-07 14:19:20