Задать вопрос
@dima_maketov
Мои тупые вопросы вносят вклад в сообщество.

Laravel 5.4. Как реализовать загрузку файлов на сайт?

Здравствуйте!
Как Вы реализуете загрузку файлов, и почему скрипт не видит файлов, которые я желаю залить на сайт?

$files = Input::file('images'); 
dd($files); // возращает null


create.blade.php

<form action="carts" method="post">
      {{ csrf_field() }}
      <div class="form-group">
          <label for="name" class="col-md-4 control-label">ФИО клиента</label>
          <div class="col-md-6">
              <input name="name" type="text" id="name" class="form-control" required autofocus>
          </div>
      </div>
      <div class="form-group">
          <label for="url" class="col-md-4 control-label">Url страницы</label>
          <div class="col-md-6">
              <span>{{ config('app.url') }}/{{$random}}</span>
              <input id="url" type="hidden" class="form-control" name="url" value="{{$random}}" required>
          </div>
      </div>
      <div class="form-group">
        <label for="image" class="col-md-4 control-label">Фотографии</label>
        <div class="col-md-6">
            <input type="file" name="images" multiple>
        </div>
      </div>
      <div class="form-group">
          <div class="col-md-8 col-md-offset-4">
              <button type="submit" class="btn btn-primary">
                  Создать
              </button>
          </div>
      </div>
  </form>


Controller
public function store(Request $request)
    {
      PersonalCart::create([
        'name_user' => $request->name,
        'url_cart' => $request->url
      ]);
      if (Input::hasFile('images'))
      {
        $files = Input::file('images');

        foreach($files as $file) {
           $destinationPath = public_path() .'/uploads/';
           $filename = $file->getClientOriginalName();
           $file->move($destinationPath, $filename);
        }
      }
    }


web.php
Route::get('/', 'PersonalCartController@create');
Route::post('/carts', 'PersonalCartController@store');
  • Вопрос задан
  • 358 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
v_decadence
@v_decadence
enctype="multipart/form-data" у тега form должен быть
Ответ написан
@assets
Back-end developer
Форме должен быть files => true

{!! Form::open(array('url'=>'apply/multiple_upload','method'=>'POST', 'files'=>true)) !!}
   <input type="file" name="images[]" multiple>
{!! Form::close() !!}


инпут <input type="file" name="images[]" multiple>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы