Größe von Bildern schnell ermitteln

tsbmusic

Erfahrenes Mitglied
Hi Leute,

ich habe ein Problem und zwar muss ich die Größe von Bildern in PHP ermitteln um zu überprüfen ob die Maße größer oder gleich 50x50px sind. Es geht dabei aber um 50-100 Bilder die bei einem Mal laden überprüft werden müssen. Mit getimagesize dauert das zu lange. Gibt es eine schnellere Möglichkeit?


Gruß
tsbmusic
 
Eventuell imagesx und imagesy, allerdings benötigst du dazu zuerst eine Bildresource. Ich weiß nicht ob das dann wieder länger dauert. Eventuell liegt es aber auch an deinem Code, kannst du mal zeigen wie du bisher die Größen ausliest? Vielleicht ist woanders eine "Bremse" drin
 
Ich habe die URL's der Bilder in einem Array und lade dann mit foreach jedes per imagegetsize().

Code:
foreach($images as $image){
    $image = make_absolute($image,$url);

    if(!preg_match('/(http|https|ftp):\/\/(ads\.|pagead2|aimg)/',$image)){

      $size = @getimagesize($image);

      if(isset($size) && $size != false && $size >= 50){
        $meta['images'][] = array("url"=>$image,"sizes"=>$size);
      }

    }
  }
 
Zuletzt bearbeitet:
Gerade ein paar Benchmarks gemacht:

-@getimagesize ist viel schneller als is_file+getimagesize!
-@getimagesize ist viel schneller als imagecreatrfrom*+imagesx+imagesy!
 
Aber gibt es trotzdem eine schnellere Methode? Wo nur Info's übergeben werden und nicht das Bild geladen wird?
 
Dann solltest du dein Script von vornerein so aufbauen, dass es auch nur die Größen von Bildern abfrägt, die auch vorhanden sind. Mir und google sind auf die schnelle keine schnelleren Methoden bekannt. Vorher sicherstellen dass die Bilder existieren und dann ohne den @-Operator die Größen auslesen.
 
Das kommt ja drauf an woher du weißt welche Bilder du laden möchtest? Eine Prüfung wird immer länger dauern - logisch. Wie kommen die Bilder denn in das Array?
 
Zurück