Проблемы с getimagesize. При обращении к картинке с уд. сервера возвращает false

beba

Новичок
[Решено] Пробл. с getimagesize. При обращении к картинке с уд. серв. возвращает false

Доброго времени.

Возникла такая вот проблемка, может кто сталкивался.
PHP:
$image_info = getimagesize($sourceFilename);
var_dump($image_info);
где $sourceFilename - путь к изображению в виде URL (http://images.mydomen.by/images/img1.jpg).

на экране после выполения скрипта появляется bool(false).

если $sourceFilename прописать путь к картинке в ввиде /var/www/mysite/public_html/images/img1.jpg все корректно работает, функция возвращает необходимые значения.

причем если через браузер открыть http://images.mydomen.by/images/img1.jpg картинка открывается, значит проблемы не с правами..

php, gd недавно обновлял... 5.2.6 и 2.0.34 соответственно..

Думал в дело может быть в allow_url_fopen каком нибудь.. да нет, опция включена.

На php.net написано в мануале о False написано:
On failure, FALSE is returned.

В логах ничего нету :(

По форуму рыскал, по интернету тоже .. ничего не нашел ..

Спасибо.
OS: FedoraCore 7, php 5.2.6
 

tony2001

TeaM PHPClub
во-первых, это довольно глупая идея - спрашивать размеры картинки через HTTP, при том, что (судя по всему) картинка доступна локально.
во-вторых, закрывать файрволлом выход наружу на 80й порт - это вполне нормальная практика.
 

Dovg

Продвинутый новичок
В мануале написано "This parameter specifies the file you wish to retrieve information about. It can reference a local file or (configuration permitting) a remote file using one of the supported streams."

Может быть ваш вариант в скобках?
 

beba

Новичок
Спасибо за ответы:

tony2001
во-первых, это довольно глупая идея - спрашивать размеры картинки через HTTP, при том, что (судя по всему) картинка доступна локально.
Да действительно картинка доступна локально. Дело в том, что я описал лишь проблематичный участок.. а в проекте так получается, что картинки нужно хранить на отдельных сайтах.. которые пока находятся локально на сервере, но в перспективах могут находится и удаленно. В идеологию проекта уже углублятся не буду, если интеренсно.. могу личкой выслать соображения.. И юзаю через HTTP картинки именно на перспективу, для большей гибкости.
во-вторых, закрывать файрволлом выход наружу на 80й порт - это вполне нормальная практика
в iptables 80ый порт открыт, сервак свой.. настраиваю сам..

Dovg
... (configuration permitting) .... я так понимаю об этом говоришь?..
а какой параметр в конфигурации, который разрешает использовать удаленный файл?

Спасибо.
 

tony2001

TeaM PHPClub
>в проекте так получается, что картинки нужно хранить на отдельных сайтах..
>которые пока находятся локально на сервере, но в перспективах могут находится и удаленно

ну и пускай хранятся.
зачем спрашивать размеры картинок _удалённо_?

>И юзаю через HTTP картинки именно на перспективу, для большей гибкости.

это не гибкость, это чёрт знает что.
ты сам себе нагрузку создаёшь на ровном месте.

>в iptables 80ый порт открыт, сервак свой.. настраиваю сам..

вот и дебажь тогда сам.
бери скрипт, делай fopen(), fread() и смотри почему не читает, а если читает - почему не определяет тип.
 

beba

Новичок
>> в проекте так получается, что картинки нужно хранить на отдельных сайтах..
>> которые пока находятся локально на сервере, но в перспективах могут находится и удаленно
> ну и пускай хранятся.
> зачем спрашивать размеры картинок _удалённо_?
Это для ресайза.. На лету генерируется уменьшенная картинка на основании удаленной.

>> И юзаю через HTTP картинки именно на перспективу, для большей гибкости.
> это не гибкость, это чёрт знает что.
> ты сам себе нагрузку создаёшь на ровном месте.
:( да конечно ты прав..
но к сожалению в голову пока не приходит других мыслей..
может подсказать в какую сторону мне лучше посмотреть?.. почитать?


>> в iptables 80ый порт открыт, сервак свой.. настраиваю сам..
> вот и дебажь тогда сам.
> бери скрипт, делай fopen(), fread() и смотри почему не читает, а если читает - почему не определяет тип.
отдебажил .. проблему нашел...
ступил немног, не подумал про fopen(), fread()..

проблемы были непосредственно в настройке сервака..
непосредственно в настройках днс...

Спасибо, tony2001.
 

kode

never knows best
PHP:
$url = parse_url("http://images.mydomen.by/images/img1.jpg");
$absolute_path = $_SERVER['DOCUMENT_ROOT'].$url['path'];

echo $absolute_path;
 

dimagolov

Новичок
beba, не нужно спарашивать оригинальную картинку чтобы построить ее размер. надо давать ссылку на уменьшенную картинку клиенту, даже если она на другом сайте. а запрос уменьшенной картинки должен ее или генерить если ее нету и класть на следущее обращение статикой или отдавать из статики имеющуюся.
 
Сверху