Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 08.05.2018 14:38:58

Работа с getimagesize() на сервере

Всем привет!
Хочу после загрузки изображений открывать товар на редактирование и видеть фотки в миниатюрах заданных размерах. для этого хочу их пропорционально уменьшить используя функцию для вычисления размеров getimagesize().
собственно получаю вот такую ошибку

ErrorException (E_WARNING)
getimagesize(http://test.ru/images/clock/ID_16_2018.05.08_08.24.30_5271_7.jpg): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized

вот код:

foreach ($clocks_list as $clock) {
   $img_info = getimagesize(Config::APP_URL.'/'.$clock->url);
   $res = $this->getSizeByFramework($img_info[0], $img_info[1]);
   $clock->width_img = $res['width'];
   $clock->height_img = $res['height'];
}

из документации:

Если доступ к файлу filename невозможен, getimagesize() вызовет ошибку уровня E_WARNING.

тобеш мой случай.
По какой причине он не может получить доступ к изображению? если вбиваю урлу в адресную строку, то начинается скачивание изображения.. фотки загружаются, отображаются все норм. в чем может быть дело? если закомментирую этот цикл, то выводится фотка в оригинальном размере.. на локальной машине - работает. на сервер залил, не работает...

Не в сети

#2 08.05.2018 14:41:08

Re: Работа с getimagesize() на сервере

Поставь права доступа 777

Не в сети

#3 08.05.2018 14:56:07

Re: Работа с getimagesize() на сервере

нет, не помогло. в паблике всей папке images (и самой папке) рекурсивно дал 777
Сайт имеет домен, если вдруг это может както подсказать кому че.. там http://test.sitename.ru

Изменено sam (08.05.2018 14:57:35)

Не в сети

#4 08.05.2018 14:58:28

Re: Работа с getimagesize() на сервере

Попробуй прописать абсолютный путь к какому-нибудь файлу, который точно есть

Не в сети

#5 08.05.2018 15:21:45

skiphog
Откуда: Киров, Россия
Сообщений: 26

Re: Работа с getimagesize() на сервере

В вашем случае нет необходимости получать файл удаленно по протоколу http.
Попробуйте получить его локально.

PHP
$img_info getimagesize(public_path() . '/' $clock->url);

Не в сети

#6 10.05.2018 10:34:04

Re: Работа с getimagesize() на сервере

$img_info = getimagesize(public_path() . '/' . $clock->url);

Бинго!) большое спасибо!

Не в сети

Подвал раздела