„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So beschleunigen Sie das Abrufen der Bildgröße in PHP: Ist file_get_contents die Lösung?

So beschleunigen Sie das Abrufen der Bildgröße in PHP: Ist file_get_contents die Lösung?

Veröffentlicht am 05.11.2024
Durchsuche:212

How to Speed Up Image Size Retrieval in PHP: Is file_get_contents the Solution?

So erhalten Sie blitzschnell die Bildgröße in PHP mithilfe von 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:

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;
}

Bildgröße extrahieren

Sobald die Bilddaten erhalten wurden, können Sie ihre Abmessungen mithilfe von imagecreatefromstring() und integrierten Bildanalysefunktionen bestimmen:

$im = imagecreatefromstring($raw);
$width = imagesx($im);
$height = imagesy($im);

Leistungsmessung

Mit dieser Methode ist der Prozess zur Ermittlung der Bildabmessungen deutlich schneller:

$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)";
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3