首页  >  文章  >  后端开发  >  如何在 PHP 中比使用“getimagesize”更快地检索图像尺寸?

如何在 PHP 中比使用“getimagesize”更快地检索图像尺寸?

Patricia Arquette
Patricia Arquette原创
2024-10-30 18:12:30281浏览

How Can I Retrieve Image Dimensions in PHP Faster Than Using `getimagesize`?

探索 PHP 中更快的图像尺寸检索

在 PHP 编程领域,在处理图像时,使用默认的 getimagesize 函数检索图像尺寸可能会变得很麻烦。大量远程图像。为了解决这个瓶颈,让我们深入研究一种能够实现闪电般性能的替代方法。

通过利用 file_get_contents 函数,我们只能从图像中读取有限数量的字节。然后可以仔细检查这些数据以确定图像的尺寸。

为了开始这种方法,让我们考虑以下代码片段:

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

此函数利用 ranger 函数来检索图像数据的一小部分。随后,使用 imagecreatefromstring 从检索到的数据生成图像资源。最后,imagex 和 imagesy 分别为我们提供了图像的宽度和高度。

当使用图像 URL 进行测试时,这种方法表现出了令人印象深刻的速度,如下所示:

640 x 480 (0.20859s)

在本例中,提取图像尺寸仅花费了 0.20859 秒,凸显了该方法的效率。

通过利用从远程图像读取有限数据量的能力,我们设计了一种非常快速的方法在 PHP 中获取图像尺寸的有效方法。这项技术使您能够轻松快速地应对处理大量图像的挑战。

以上是如何在 PHP 中比使用“getimagesize”更快地检索图像尺寸?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn