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