PHP получить размер изображения из строки содержимого изображения - PullRequest
4 голосов
/ 19 января 2012

У меня есть функция, которая извлекает удаленное изображение через CURL, возвращая строковую переменную содержимого удаленного изображения.

Я не хочу записывать содержимое в файл, но хочу получитьразмер изображения.

, так как getimagesize () поддерживает только файл, есть ли функция, аналогичная getimagesize (), но может поддерживать строки содержимого изображения?

, чтобы уточнить:

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

как получить размер изображения $image_content вместо запуска getimagesize('http://www.example.com/example.jpg');?

Заранее спасибо

Ответы [ 3 ]

11 голосов
/ 19 января 2012

PHP функции imagecreatefromstring , imagesx и imagesy .

Примерно так;

$image_content = file_get_contents('http://www.example.com/example.jpg');
$image = imagecreatefromstring($image_content);
$width = imagesx($image);
$height = imagesy($image);
6 голосов
/ 10 ноября 2012

К вашему сведению, для тех, кто опаздывает в игру, PHP> = 5.4 теперь включает getimagesizefromstring(), что идентично getimagesize(), но принимает строку для первого параметра вместо местоположения.

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

0 голосов
/ 17 мая 2015

ОК, я нашел ответ для PHP 5.3 и меньше

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