0

私はここで与えられたスクリプトを使用しようとしていましたphpは、幅と高さ> = 200のURLからすべての画像をより速く取得します

ここにある simple_html_dom.php をダウンロードして使用しましたhttp://sourceforge.net/projects/simplehtmldom/

ほとんどの URL で機能しますが、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

4

1 に答える 1

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 変数を vardump して、何が起こっているかを確認してください。
  4. ループが機能しているものと機能していないものがある場合、何が違うのでしょうか? URL 構造、文字エンコーディングの存在/欠落?

HTML を別の方法で配置してみてください。

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

これが役立つことを願っています。

于 2012-10-28T04:25:25.127 に答える