在 PHP 编程领域,在处理图像时,使用默认的 getimagesize 函数检索图像尺寸可能会变得很麻烦。大量远程图像。为了解决这个瓶颈,让我们深入研究一种保证闪电般快速性能的替代方法。
通过利用 file_get_contents 函数,我们只能从图像中读取有限数量的字节。然后可以仔细检查这些数据以确定图像的尺寸。
要采用这种方法,让我们考虑以下代码片段:
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)";
此函数利用 ranger 函数检索一小部分图像数据。随后,使用 imagecreatefromstring 从检索到的数据生成图像资源。最后,imagex 和 imagesy 分别为我们提供了图像的宽度和高度。
当使用图像 URL 进行测试时,这种方法表现出了令人印象深刻的速度,如下所示:
640 x 480 (0.20859s)
在本例中,提取图像尺寸仅花费了 0.20859 秒,凸显了该方法的效率。
利用读取有限数据量的能力从远程图像中,我们设计了一种非常快速且有效的方法来在 PHP 中获取图像尺寸。这项技术使您能够轻松快速地应对处理大量图像的挑战。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3