Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Не могу понять, почему не загружается изображение вот код
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)
Не в сети
- <form action="{{ route('pagesAdd') }}" method="POST" class="form-horizontal">
<form action="X" method="post" encrypt="multipart/form-data">
Не в сети
не понял вас ?
Не в сети
Загрузка файлов через форму работает только при указании обоих атрибутов. 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>
Не в сети
Страницы 1