2016-05-21 14 views
0

Dies packt alle Bilder von einer Seite, und soll überprüfen, ob Bild mehr Breite und Höhe als 200 hat. Wenn ja, schnappen Sie sich die erste davon. Aber es ist ein teurer Prozess, und ich frage mich, ob es leichtere Ansätze gibt als mit getimagesize. Kennt jemand einen anderen Ansatz ohne die Verwendung externer Dienste wie YQL usw.?Making domdocument img search leichter

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

Was ist die Anzahl der Bilder im Dokument? – Mohammad

+0

Es variiert, es kratzt URLs von Benutzern bereitgestellt. so kann es je nach Webseite 0 - 1000 sein. – Havihavi

+1

Dies ist eindeutig zu viel Zeit für die Ausführung von Code, weil Zielbilder in Remote-Server ist! – Mohammad

Antwort

1

der ImageMagick pingImage or pingImageFile so wenig von der Bilddatei wie möglich lesen Sie die grundlegenden Eigenschaften zu erhalten, die dann mit getImageWidth und getImageHeight zugegriffen werden kann.

+0

Brilliant, danke! – Havihavi