Im Bereich der PHP-Programmierung kann es umständlich werden, Bildabmessungen mithilfe der Standardfunktion getimagesize abzurufen, wenn es um a geht große Menge an Remote-Bildern. Um diesen Engpass zu beheben, beschäftigen wir uns mit einem alternativen Ansatz, der eine blitzschnelle Leistung verspricht.
Durch die Nutzung der Funktion „file_get_contents“ können wir nur eine begrenzte Anzahl von Bytes aus einem Bild lesen. Diese Daten können dann sorgfältig untersucht werden, um die Abmessungen des Bildes zu bestimmen.
Um diesen Ansatz zu verfolgen, betrachten wir den folgenden Codeausschnitt:
<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; } $start = microtime(true); $url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg"; $raw = ranger($url); $im = imagecreatefromstring($raw); $width = imagesx($im); $height = imagesy($im); $stop = round(microtime(true) - $start, 5); echo $width." x ".$height." ({$stop}s)";</code>
Diese Funktion nutzt die Ranger-Funktion, um ein abzurufen kleiner Teil der Bilddaten. Anschließend wird imagecreatefromstring verwendet, um aus den abgerufenen Daten eine Bildressource zu generieren. Schließlich liefern uns imagesx und imagesy die Breite bzw. Höhe des Bildes.
Beim Test mit einer Bild-URL zeigte dieser Ansatz beeindruckende Geschwindigkeit, wie unten zu sehen ist:
640 x 480 (0.20859s)
In diesem Fall dauerte das Extrahieren der Bildabmessungen nur 0,20859 Sekunden, was die Effizienz dieser Methode unterstreicht.
Durch die Nutzung der Leistungsfähigkeit des Lesens einer begrenzten Datenmenge aus entfernten Bildern haben wir eine bemerkenswert schnelle Lösung entwickelt und effiziente Möglichkeit, Bildabmessungen in PHP zu erhalten. Mit dieser Technik können Sie die Herausforderung der Verarbeitung zahlreicher Bilder einfach und schnell meistern.
Das obige ist der detaillierte Inhalt vonWie kann ich Bildabmessungen in PHP schneller abrufen als mit „getimagesize'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!