So ermitteln Sie blitzschnell die Bildgröße in PHP mit file_get_contents
Das Abrufen von Bildabmessungen für zahlreiche Remote-Bilder kann eine zeitaufwändige Aufgabe sein. insbesondere mit getimagesize. Hier ist ein alternativer Ansatz, der file_get_contents nutzt, um Bildgrößen schnell abzurufen:
Verwenden einer benutzerdefinierten PHP-Funktion
Die folgende ranger()-Funktion liest einen bestimmten Bytebereich von einer Fernbedienung Bild, das eine schnelle Größenextraktion ermöglicht:
<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; }</code>
Bildgröße extrahieren
Sobald die Bilddaten erhalten wurden, können Sie ihre Abmessungen mit imagecreatefromstring() bestimmen und erstellen- in Bildanalysefunktionen:
<code class="php">$im = imagecreatefromstring($raw); $width = imagesx($im); $height = imagesy($im);</code>
Leistungsmessung
Mit dieser Methode ist der Prozess zur Ermittlung der Bildabmessungen deutlich schneller:
<code class="php">$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>
Testergebnisse
Das Beispielbild brauchte nur 0,20859 Sekunden, um seine Abmessungen abzurufen. Das Laden von 32 KB Daten hat sich bei diesem Ansatz als effektiv erwiesen. Durch die Anwendung dieser Technik können Sie schnell Bildgrößen von Remote-Bildern ermitteln und so die Engpässe minimieren, die normalerweise bei getimagesize auftreten.
Das obige ist der detaillierte Inhalt vonSo beschleunigen Sie das Abrufen der Bildgröße in PHP: Ist file_get_contents die Lösung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!