通过某些网址上的CURL崩溃从网址获取图片

时间:2012-10-28 03:17:03

标签: php image curl

我试图使用此处提供的脚本php get all the images from url which width and height >=200 more quicker

我下载并使用了http://sourceforge.net/projects/simplehtmldom/

中给出的simple_html_dom.php

适用于大多数网址,但是当我使用http://www1.macys.com/shop/mens-clothing/mens-athletic-wear?id=59165&edge=hybrid&cm_sp=us_men%27s-men%27s-apparel-activewear-_-t-shirts#!fn=APPAREL_TYPE%3DT-Shirts%26sortBy%3DORIGINAL%26productsPerPage%3D40&!qvp=iqvp

之类的内容时

脚本崩溃了。有人可以帮忙吗?

编辑: 我把错误报告给了它。

致命错误:在第16行的/var/www/smartbiz/smartbiz/test2.php中调用非对象的成员函数find()

第16行:if ($html->find ( 'img' )) {

EDIT2:不确定这是否相关PHP simple html dom: apache crashesPHP simple html dom: apache crashes

1 个答案:

答案 0 :(得分:0)

您可以将代码包装在try-catch语句中。

<?
try{

   // Your image checking code..

}catch( Exception $e ){
   echo "Image not found: $e";
}
?>

听起来错误的是HTML没有加载。我们需要更多的代码,否则我可以给你基本的调试建议。

  1. 将“失败”的链接复制并粘贴到您的浏览器中,并检查它是否正常工作。
  2. 尝试以另一种方式将HTML加载到Simple HTML DOM中。
  3. 如果那些不起作用,请使用$ html变量来查看正在发生的事情。
  4. 如果循环适用于某些人而不是其他人,那么有什么不同? URL结构,字符编码是否存在?
  5. 尝试以另一种方式放置HTML。

    $html = str_get_html( file_get_contents( $YOUR_URL ) );
    

    我希望这会有所帮助。