php从一串图像内容中获取图像大小

时间:2012-01-19 05:12:49

标签: php imagemagick gd

我有一个函数可以通过CURL获取远程图像,返回远程图像内容的字符串变量。

我不希望将内容写入文件,但希望获得图像的大小。

因为getimagesize()只支持一个文件,是否有类似getimagesize()的函数但是可以支持图像内容的字符串?

澄清:

$image_content = file_get_contents('http://www.example.com/example.jpg');

如何获取$image_content的图片大小,而不是运行getimagesize('http://www.example.com/example.jpg');

提前致谢

3 个答案:

答案 0 :(得分:11)

PHP函数imagecreatefromstringimagesximagesy

像这样;

$image_content = file_get_contents('http://www.example.com/example.jpg');
$image = imagecreatefromstring($image_content);
$width = imagesx($image);
$height = imagesy($image);

答案 1 :(得分:6)

仅供参考,对于那些迟到的游戏,PHP> = 5.4现在包含getimagesizefromstring(),它与getimagesize()相同但接受第一个参数的字符串而不是位置。

http://php.net/manual/en/function.getimagesizefromstring.php

答案 2 :(得分:0)

好的,我找到了PHP 5.3及更少的答案

if (!function_exists('getimagesizefromstring')) {
    function getimagesizefromstring($data)
    {
        $uri = 'data://application/octet-stream;base64,' . base64_encode($data);
        return getimagesize($uri);
    }
}