„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 > Wie kann ich Bildabmessungen in PHP schneller abrufen als mit „getimagesize“?

Wie kann ich Bildabmessungen in PHP schneller abrufen als mit „getimagesize“?

Veröffentlicht am 04.11.2024
Durchsuche:331

How Can I Retrieve Image Dimensions in PHP Faster Than Using `getimagesize`?

Erkundung eines schnelleren Abrufs von Bildabmessungen in PHP

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, wollen wir uns mit einem alternativen Ansatz befassen, 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 das folgende Code-Snippet:

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)";

Diese Funktion nutzt die Ranger-Funktion, um einen kleinen Teil der Bilddaten abzurufen. 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 Nutzung der Leistungsfähigkeit des Lesens einer begrenzten Datenmenge Aus entfernten Bildern haben wir eine bemerkenswert schnelle und effiziente Möglichkeit entwickelt, Bildabmessungen in PHP zu erhalten. Mit dieser Technik können Sie die Herausforderung der Verarbeitung zahlreicher Bilder einfach und schnell meistern.

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