Я использую Laravel 5.1
Я могу переместить изображение в папку назначения с правильным именем, но в базе данных оно сохраняется с временным именем, например D:\xampp\tmp\phpC7EA.tmp
form.blade.php
<div class="form-group">
{!! Form::label('image', 'Upload Image', ['class'=>'control-label col-sm-4']) !!}
<div class="col-sm-8">
{!! Form::file('image', null) !!}
</div>
</div>
TeacherController.php
public function store(TeacherRequest $request)
{
Teacher::create($request->all());
$image_name = $request->file('image')->getClientOriginalName();
$request->file('image')->move(base_path().'/public/images', $image_name);
Session::flash('success_message', 'Teacher has been added successfully!');
return redirect('teacher');
}
У меня возникла та же проблема при обновлении записи новым изображением, имя изображения сохраняется в правильное имя, но имя tmp в базе данных, как 'C:\wamp\tmp\phpD10D.tmp'
что я сделал перед сохранением
$request['img'] = $imageName; //with new name
$images->update($request->all());
Я знаю, что это должно быть как $_FILE['img']['name'] = $imageName
но как это сделать в Laravel 5.1
Других решений пока нет …