Laravel по-русски

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

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

#1 05.10.2016 13:40:04

respectpick
Откуда: Москва
Сообщений: 83

Не могу открыть файл

Я не уверен, что тема вообще относится к Laravel, но все-таки спрошу.

есть VPS, на котором настроены 3 хоста - Vitya Kostia и Main

общая БД, в которой хранятся ссылки на изображения. Все картинки хранятся в Main, в папке /public/img

На хостах Vitya и Kostia эта папка хранится как ссылочная на папку img хоста Main.

в чем, собственно, проблема.

на вход поступает ссылки на картинки и я пытаюсь открыть их

    public function collageImg()
    {
        $images = Input::except('_token');

       foreach($images as $img){
           fopen($img, "r");
       }
        dd($images);die;
    }

на что получаю

fopen(/img/Ф.png): failed to open stream: No such file or directory

при этом, если я в blade-шаблоне вывожу

    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    @foreach($images as $img)
        <input class="image" type="image" src='{{$img}}' />
    @endforeach

то картинки выводятся.

P.s. права на папку 777 стоят

Не в сети

#2 05.10.2016 13:56:17

Re: Не могу открыть файл

У тебя в базе хранится путь до картинки от корня сайта (/img/Ф.png). Это как раз то что нужно браузерам что бы запросить кратинку и получить ее.

А при работе с картинкой из кода тебе нужно указывать или относительный путь (без слеша в начале) или полный путь до картинки.

Сейчас же у тебя получается что ты пытаешься прочитать картинку из папки img которая лежит в корне файловой системы.

Не в сети

#3 05.10.2016 14:00:27

respectpick
Откуда: Москва
Сообщений: 83

Re: Не могу открыть файл

DBR пишет:

У тебя в базе хранится путь до картинки от корня сайта (/img/Ф.png). Это как раз то что нужно браузерам что бы запросить кратинку и получить ее.

А при работе с картинкой из кода тебе нужно указывать или относительный путь (без слеша в начале) или полный путь до картинки.

Сейчас же у тебя получается что ты пытаешься прочитать картинку из папки img которая лежит в корне файловой системы.

но у меня переадресация же в папку public из корня идет

Не в сети

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