Laravel по-русски

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

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

#77 Re: Laravel 5.x » Почему не загружается файл? » 11.10.2016 12:12:23

метод формы поправил на POST

<form enctype="multipart/form-data" action="fileUpload" method="post">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <input name="photo" type="file" />
    <button>Предложить фото</button>
</form>

маршрут выглядит так

Route::resource('fileUpload', 'CompgenController@fileUpload');

контроллер

    public function fileUpload(Request $request){

        $input = $request->input('photo');
        $file = Input::file('photo');
        dd($file);die;

        $save_path = $this->save_path_upload.$request->input('photo');
        Image::make($request->input('photo'))->save($save_path);
    }

странно, что в $_REQUEST лежит этот параметр, но в $_FILES Нету

#78 Laravel 5.x » Почему не загружается файл? » 11.10.2016 11:07:36

respectpick
Ответов: 3

Версия 5.0

в шаблоне

<form enctype="multipart/form-data" action="fileUpload" method="get">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <input name="photo" type="file" />
    <button>Предложить фото</button>
</form>

в контроллере

    public function fileUpload(Request $request){

        $input = $request->input('photo');
        $file = Input::file('photo');

        $save_path = $this->save_path_upload.$request->input('photo');
        Image::make($request->input('photo'))->save($save_path);
    }

почему Input::file('photo') возвращает null?

а вот в $input лежит строкове значение файла

#79 Re: Laravel 5.x » Не могу открыть файл » 05.10.2016 14:00:27

DBR пишет:

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

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

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

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

#80 Laravel 5.x » Не могу открыть файл » 05.10.2016 13:40:04

respectpick
Ответов: 2

Я не уверен, что тема вообще относится к 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 стоят

#81 Re: Laravel 5.x » как передать массив в blade » 05.10.2016 11:30:27

гость15 пишет:
return view('perehod', ['images' => $images]);

помогло, спасибо

#82 Laravel 5.x » как передать массив в blade » 30.09.2016 19:15:53

respectpick
Ответов: 4

передаю в контроллере вот так

	    $images = $compgens->getCompgen();
	    return view('perehod')->with('images',$images);

в $images массив вида

Array ( [0] => /home/img/С.png [1] => /home/img/У.png [2] => /home/img/Р.png )

получаю ошибку

htmlentities() expects parameter 1 to be string, array given

как передать массив?

#83 Laravel 5.x » Database [mydb] not configured. » 29.09.2016 19:00:53

respectpick
Ответов: 1

При попытке послать простой sql запрос получаю ошибку

Database [mydb] not configured.

запрос отправляю в контроллере

	public function perehod(Request $request){
        $langs = DB::connection('mydb')->select('select * from lang');
	    return view('perehod', array(["fields" => $request->input()], ['lagns' => $langs] ) );
    }

конфиги прописаны и в config/database.php и в .env

Может быть проблема в том, что я руками создавал в phpmyadmin и БД и таблицы?

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