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

Patricia Arquette
Freigeben: 2024-10-30 18:12:30
Original
280 Leute haben es durchsucht

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, 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>
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!