2016-05-21 7 views
0

これはページからすべての画像を取得し、画像の幅と高さが200より大きいかどうかを確認することになっています。しかし、その高価なプロセスと、私はこれにgetimagesizeを使用するより軽量なアプローチがあるのだろうかと思っています。誰かがYQLなどの外部サービスを使用しないで別のアプローチを知っていますか?domdocument img searchより軽量化

if($ogimage!=''|| !empty($ogimage)){ 
    $arrimg = $ogimage; 
} else { 
    $imgarr = array(); 
foreach ($doc->getElementsByTagName('img') as $img) { 
    $arrimg_push = $img->getAttribute('src'); 
    array_push($imgarr, $arrimg_push); 
} 
    $i=0; 
    foreach($imgarr as $img){ 
    list($width, $height, $type, $attr) = getimagesize($img); 
     if($width > 200 && $height > 200){ 
      if($i > 0){ 
      $arrimg = $img; 
      $i++; 
      } 
     } 
    } 
} 
+0

ドキュメント内のイメージ数とは何ですか? – Mohammad

+0

それは、ユーザーによって提供されたURLを掻き分けます。したがって、ウェブサイトに応じて0〜1000にすることができます。 – Havihavi

+1

ターゲット・イメージがリモート・サーバーにあるため、これはコードの実行に長い時間を費やすことです! – Mohammad

答えて

1

のImageMagickのpingImage or pingImageFileはその後getImageWidthgetImageHeightを使用してアクセスすることができ、基本的な属性を取得するために可能な限り、画像ファイルのように少しを読みます。

+0

素晴らしい、ありがとう! – Havihavi