En el ámbito de la programación PHP, puede resultar engorroso recuperar dimensiones de imagen usando la función predeterminada getimagesize cuando se trata de un gran volumen de imágenes remotas. Para abordar este cuello de botella, profundicemos en un enfoque alternativo que promete un rendimiento ultrarrápido.
Al aprovechar la función file_get_contents, podemos leer solo una cantidad limitada de bytes de una imagen. Luego, estos datos se pueden examinar meticulosamente para determinar las dimensiones de la imagen.
Para embarcarnos en este enfoque, consideremos el siguiente fragmento de código:
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)";
Esta función utiliza la función de guardabosques para recuperar una pequeña porción de los datos de la imagen. Posteriormente, se emplea imagecreatefromstring para generar un recurso de imagen a partir de los datos recuperados. Por último, imagesx e imagesy nos proporcionan el ancho y el alto de la imagen, respectivamente.
Cuando se puso a prueba con la URL de una imagen, este enfoque demostró una velocidad impresionante, como se ve a continuación:
640 x 480 (0.20859s)
En este caso, extraer las dimensiones de la imagen tomó solo 0,20859 segundos, lo que resalta la eficiencia de este método.
Aprovechando el poder de leer una cantidad limitada de datos A partir de imágenes remotas, hemos ideado una forma notablemente rápida y eficiente de obtener dimensiones de imágenes en PHP. Esta técnica le permite afrontar el desafío de procesar numerosas imágenes con facilidad y velocidad.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3