Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вывод размера изображения


Автор: Anurhat 12.9.2015, 22:18
Как правильно вывести размер изображения.
Функция getimagesize выдает ошибку. 

Писал так.
Код

$size = getimagesize("http://s019.radikal.ru/i619/1509/1a/02910d9e7e98.jpg");
echo $size;

Автор: s0lman 14.9.2015, 16:15
Цитата(Anurhat @  12.9.2015,  21:18 Найти цитируемый пост)
Функция getimagesize выдает ошибку.

Желательно читать текст ошибки
Цитата

failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden


смотрим php.net http://php.net/manual/en/function.getimagesize.php
Цитата

string $filename


Обратите внимание, не $fileUrl

Автор: baldina 14.9.2015, 18:20
Цитата

It can reference a local file or (configuration permitting) a remote file using one of the supported streams.

так что это не обязательно ошибка, зависит сборки php. проблема что файл по данному адресу доступен через раз.

попробуйте 
Код

$filename = 'http://php.net/images/logo.php';
$size = getimagesize ($filename);
var_dump ($size);
echo '<p><img src="data:',$size['mime'],';base64,', base64_encode(file_get_contents ($filename)), '">';


Добавлено через 4 минуты и 50 секунд
http://codepad.viper-7.com/PCh9Ks

Автор: Gold Dragon 14.9.2015, 21:08
Может чуть не по теме... На одном из хостингов при переключении на PHP 5.4 эта функция стала выдавать это
Цитата

САЙТ.ru [Fri Sep 11 14:32:23 201] [error] [client xxx.202.21.27] PHP Warning: getimagesize(http://САЙТ.ru/images/modules/mod_gdslider/gds_05.jpg): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable\r\n in /home/srv285xx/САЙТ.ru/modules/mod_gdslider/imgsketch.php on line 36

Хостеры пока не могут понять причину ошибки Апача.. Может кто сталкивался с подобным.

PS
самое странное что на этом же хостинге (и даже на этом же аккаунте) на этом же движке, но на другом домене всё отлично работает

PSS
от лишних вопросов... изображение физически по адресу существует. Права 777. Напрямую в браузере отображается..

Автор: baldina 14.9.2015, 23:20
может быть включена блокировка по user-agent. по умолчанию в php он вроде пустой, его можно установить для потока

Автор: _zorn_ 15.9.2015, 01:47
Цитата(baldina @  15.9.2015,  01:20 Найти цитируемый пост)
зависит сборки php

Вообще то не от сборки, а от параметров в php.ini (что там собственно и написано - configuration permitting)
Конкретно allow_url_fopen.
Если ты имеешь ввиду http://php.net/manual/ru/configure.about.php#configure.disable-url-fopen-wrapper, то  (не доступно начиная с 5.2.5)
Не думаю что где то сохранилась такая древность smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)