2016-05-21 6 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 будет читаться как мало файла изображения, как это возможно, чтобы получить основные атрибуты, которые затем могут быть доступны с помощью getImageWidth и getImageHeight.

+0

Блестящий, спасибо! – Havihavi