Heim > Artikel > Backend-Entwicklung > So extrahieren Sie schnell Bildabmessungen in PHP: Sind Bibliotheken die beste Lösung?
So bestimmen Sie schnell die Bildabmessungen in PHP: Ein Leitfaden zur Optimierung
Im Bereich der Webentwicklung ist es oft notwendig, sie abzurufen die Dimensionen entfernter Bilder effizient anpassen. Allerdings kann die native PHP-Funktion getimagesize() für große Datenmengen zeitaufwändig sein.
Erforschung alternativer Ansätze
Um diesen Prozess zu beschleunigen, wird empfohlen, die zu verwenden file_get_contents-Funktion zum Lesen einer begrenzten Anzahl von Bytes aus dem Bild. Aus diesen Binärdaten können wesentliche Informationen zu den Bildabmessungen extrahiert werden.
Untersuchung von Binärdaten
Die Untersuchung von Binärdaten erfordert formatspezifische Techniken. Beispielsweise enthält ein JPEG-Bild typischerweise die Abmessungen innerhalb der ersten 16 Bytes, während ein PNG-Bild das Parsen des IHDR-Blocks erfordert.
Nutzung von Bibliotheken
Zahlreiche Bibliotheken vereinfachen dies Prozess durch Bereitstellung vorgefertigter Funktionen zum Lesen von Bildabmessungen aus Binärdaten. Diese Bibliotheken unterstützen oft mehrere Bildformate, was die Aufgabe weiter vereinfacht.
Ein optimiertes Codebeispiel
Unten ist ein Codebeispiel, das zeigt, wie man file_get_contents und eine Bibliothek schnell verwendet Bildabmessungen erhalten:
<code class="php">function ranger($url) { $headers = array( "Range: bytes=0-32768" ); $curl = curl_init($url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); curl_close($curl); return $data; } $url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg"; $raw = ranger($url); $im = imagecreatefromstring($raw); // Javascript exif module can be used to extract meta information from image $exif = $javascriptExif->getAllTags($raw); $width = $exif['PixelXDimension']; $height = $exif['PixelYDimension']; $stop = round(microtime(true) - $start, 5); echo $width." x ".$height." ({$stop}s)";</code>
Benchmarking und Ergebnisse
Dieser Ansatz verkürzt nachweislich die Verarbeitungszeit erheblich, insbesondere bei großen Bildmengen. Das Laden von 32 KB Daten für ein Bild mit den Abmessungen 640 x 480 Pixel dauerte beispielsweise etwa 0,20859 Sekunden.
Durch die Optimierung des Prozesses zum Abrufen der Bildabmessungen können Webentwickler die Leistung und Effizienz ihrer Anwendungen verbessern.
Das obige ist der detaillierte Inhalt vonSo extrahieren Sie schnell Bildabmessungen in PHP: Sind Bibliotheken die beste Lösung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!