Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich die Remote-Bilddimensionsextraktion mit der Funktion getimagesize von PHP beschleunigen?

Wie kann ich die Remote-Bilddimensionsextraktion mit der Funktion getimagesize von PHP beschleunigen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-04 01:25:03472Durchsuche

How can I speed up remote image dimension extraction with PHP's getimagesize function?

Beschleunigung von getimagesize in PHP für die Extraktion von Remote-Bildabmessungen

Das Ermitteln der Abmessungen von Remote-Bildern mit der Funktion getimagesize von PHP kann bei großen Bildsätzen träge sein . In diesem Artikel wird ein alternativer Ansatz untersucht, der file_get_contents nutzt, um einen Teil der Binärdaten aus Bildern zur Größenanalyse abzurufen.

Um Bildabmessungen mit dieser Methode zu extrahieren, implementieren Sie die folgende Funktion:

<code class="php">function ranger($url) {
    $headers = ["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>

Führen Sie als Nächstes den folgenden Code aus, um die Abmessungen eines Remote-Bildes abzurufen:

<code class="php">$url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg";

$raw = ranger($url);
$im = imagecreatefromstring($raw);

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

echo $width." x ".$height." ({$stop}s)";</code>

In unserem Testfall lieferte dieser Ansatz die Abmessungen eines Remote-Bildes in weniger als 0,2 Sekunden.

Hinweis: Passen Sie den Bereichsparameter (im „Range“-Header) an, um mehr oder weniger Binärdaten aus dem Bild abzurufen. Experimentieren Sie mit verschiedenen Bereichen, um die Leistung für Ihre spezifische Anwendung zu optimieren.

Das obige ist der detaillierte Inhalt vonWie kann ich die Remote-Bilddimensionsextraktion mit der Funktion getimagesize von PHP beschleunigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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