首页  >  文章  >  后端开发  >  如何使用 PHP 的 getimagesize 函数加速远程图像尺寸提取?

如何使用 PHP 的 getimagesize 函数加速远程图像尺寸提取?

Patricia Arquette
Patricia Arquette原创
2024-11-04 01:25:03379浏览

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

加速 PHP 中的 getimagesize 进行远程图像尺寸提取

对于大型图像集,使用 PHP 的 getimagesize 函数确定远程图像的尺寸可能会很缓慢。本文探讨了一种替代方法,利用 file_get_contents 从图像中检索部分二进制数据以进行大小分析。

要使用此方法提取图像尺寸,请实现以下函数:

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

接下来,执行以下代码来检索远程图像的尺寸:

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

在我们的测试用例中,此方法在 0.2 秒内生成远程图像的尺寸。

注意:调整范围参数(在“范围”标题中)以从图像中检索更多或更少的二进制数据。尝试不同的范围以优化您的特定应用的性能。

以上是如何使用 PHP 的 getimagesize 函数加速远程图像尺寸提取?的详细内容。更多信息请关注PHP中文网其他相关文章!

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