Laravel по-русски

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

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

#1 27.12.2016 15:07:40

Не загружаеться файл изображения

Не могу понять, почему не загружается изображение вот код

  if($request->isMethod('POST'))
        {

            $input = $request->except('_token');


            $messager = [

                'required' => "Поле :attribute обязательно к заполнению",
            ];

            $valid = Validator::make($input, [

               'title' => 'required|max:150',
               'alias' => 'required|unique:pages|max:150',
               'text'  => 'required',
               'images' => 'required'

           ], $messager);



            if($valid->fails())
            {
                return redirect()->route('pagesAdd')->withErrors($valid)->withInput();
            }

            if($request->hasFile('images')) {
                $file = $request->file('images');

                dd($file);

                $input['images'] = $file->getClientOriginalName();

                $file->move(public_path().'/site/img/',$input['images']);

            }



            $page = new Page();


            $page->fill($input);


            if($page->save())
            {
                return redirect()->route('page')->with('status','Страница добавлена');
            }

        }

Вот форма для добавления

<div class="container">
    <div class="row">
        <div class="col-md-12 admin_content">


            <form action="{{ route('pagesAdd') }}" method="POST" class="form-horizontal">
                <div class="form-group">
                    <label for="exampleInputEmail1">Название</label>
                    <input type="text" class="form-control" name="title" id="exampleInputEmail1" value="{{ old('title') }}">
                </div>

                <div class="form-group">
                    <label for="exampleInputPassword1">Адрес</label>
                    <input type="text" value="{{ old('alias') }}" name="alias" class="form-control" id="exampleInputPassword1"  >
                </div>

                <div class="form-group">
                    <label for="exampleInputEmail1">Текст</label>
                    <textarea class="form-control" id="editor" rows="3" name="text" >{{ old('text') }}</textarea>
                </div>

                <div class="form-group">
                    <label for="exampleInputFile" >Изображение</label>
                    <input class="filestyle" data-buttonText = "Выберите изображение"
                           data-buttonName = "btn-primary" data-placeholder="Файла не загружен" type="file" value="{{ old('images') }}" name="images" id="exampleInputFile" >
                </div>

                {{ csrf_field() }}

                <button type="submit" class="btn btn-primary">Добавить</button>

            </form>

            <script>
                CKEDITOR.replace('editor');
            </script>

        </div>
    </div>
</div>

Хотя имя файла получаю и в БД заноситься а вот файл в папке public > site > img не отображается

Изменено matros97 (27.12.2016 15:09:01)

Не в сети

#2 27.12.2016 17:06:55

Re: Не загружаеться файл изображения

  1. <form action="{{ route('pagesAdd') }}" method="POST" class="form-horizontal">
<form action="X" method="post" encrypt="multipart/form-data">

Не в сети

#3 27.12.2016 17:10:58

Re: Не загружаеться файл изображения

не понял вас ?

Не в сети

#4 27.12.2016 17:15:32

Re: Не загружаеться файл изображения

Загрузка файлов через форму работает только при указании обоих атрибутов. enctype у вас нет.

http://php.net/manual/ru/features.file- … method.php

<!-- Тип кодирования данных, enctype, ДОЛЖЕН БЫТЬ указан ИМЕННО так -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Название элемента input определяет имя в массиве $_FILES -->
    Отправить этот файл: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

Не в сети

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