2016-05-21 26 views
0

這將抓取頁面中的所有圖像,並應檢查圖像的寬度和高度是否超過200.如果是,請抓住第一個。但它是一個昂貴的過程,我想知道是否有比使用getimagesize更輕量級的方法。有沒有人知道不使用YQL等外部服務的不同方法?使domdocument img搜索更輕量級

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

它變化,它刮擦用戶提供的網址。所以它可以是0 - 1000,具體取決於網站。 – Havihavi

+1

由於目標映像位於遠程服務器上,因此顯然需要花費很長時間來執行代碼! – Mohammad

回答

1

ImageMagick的pingImage or pingImageFile將讀取儘可能少的圖像文件儘可能的得到的基本屬性,然後可以使用getImageWidthgetImageHeight進行訪問。

+0

輝煌,謝謝! – Havihavi