Я пытаюсь сохранить путь к изображению, но он не возвращает правильный путь. Выдает следующую ошибку:
Файл «C: \ xampp \ tmp \ php1ADF.tmp» не существует
мой метод обновления
public function update(User $user,ProfileRequest $request)
{
if(is_null($user->avatar))
{
if($request->hasfile('avatar'))
{
$path=$this->fileUpload($request->file('avatar'));
}
else
{
$path=null;
}
}
elseif(!empty($user->avatar) && $request->hasfile('avatar'))
{
$path=$this->fileUpload($request->file('avatar'));
}
else
{
$path=$user->avatar;
}
$user->update(['name'=>request('name'),'username'=>request('username'),'email'=>request('email'),'password'=> Hash::make(request('password')),'avatar'=>$path,'background'=>$background,'description'=>request('description')]);
Session::flash('success', 'You have successfully updated a post!');
return redirect($user->path())->with(['message'=>'Profile updated']);
мой запрос файл
public function rules()
{
return [
'name'=> 'string|required|max:255',
'username'=> 'string|required|max:255|alpha_dash', //if the name exixts, so ignore that one
'avatar'=>'file|mimes:jpeg,png,gif,jpg|max:2048',
'email'=> 'email|required|string',
'password'=>'required|min:10|string',
'background'=>'file|mimes:jpeg,png,gif,jpg|max:2048',
'description'=>'string|max:255',
];
мой файл лезвия
<form method="POST" action="{{$user->path() }}" enctype="multipart/form-data">
@csrf
@method('PATCH')
<div id="flip" class="p-5 bg-gray-200">Basic Info</div>
<div id="panel">
<div class="mb-6 mt-6">
<label for="avatar">Select Profile to Upload</label>
<input id="avatar" type="file" class="@error('avatar') is-invalid @enderror" name="avatar">
@error('avatar')
<div class="text-red-800">{{ $message }}</div>
@enderror
</div>
<div class="mb-6">
<label for="name">Name</label>
<input id="name" type="text" class="@error('name') is-invalid @enderror border border-gray-400 p-2 w-full" name="name" value="{{$user->name}}">
@error('name')
<div class="text-red-800">{{ $message }}</div>
@enderror
</div>
<div class="mb-6">
<label for="username">Username</label>
<input id="username" type="text" name="username" class="@error('username') is-invalid @enderror border border-gray-400 p-2 w-full" value="{{$user->username}}">
@error('username')
<div class="text-red-800">{{ $message }}</div>
@enderror
</div>
<div class="mb-6">
<label for="email">Email</label>
<input id="email" type="email" name="email" class="@error('email') is-invalid @enderror border border-gray-400 p-2 w-full" value="{{$user->email}}">
@error('email')
<div class="text-red-800">{{ $message }}</div>
@enderror
</div>
<div class="mb-6">
<label for="password">Password</label>
<input id="password" type="password" name="password" class="@error('password') is-invalid @enderror border border-gray-400 p-2 w-full" >
@error('password')
<div class="text-red-800">{{ $message }}</div>
@enderror
</div>
<div class="mb-6">
<label for="password-confirm">Confirm Password</label>
<input id="password-confirm" type="password" name="password-confirm" class="@error('password-confirm') is-invalid @enderror border border-gray-400 p-2 w-full" >
@error('password-confirm')
<div class="text-red-800">{{ $message }}</div>
@enderror
</div>
</div>
<div id="main" class="p-5 bg-gray-200">Background</div>
<div id="child">
<div class="mb-6 mt-6">
<label for="background">Select Background image to Upload</label>
<input id="background" type="file" class="@error('background') is-invalid @enderror" name="background">
@error('background')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="mb-6">
<label for="description">Description</label>
<input id="description" type="text" name="description" class="@error('description') is-invalid @enderror border border-gray-400 p-2 w-full" value="{{$user->description}}">
@error('description')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
</div>
<div class="mt-6">
<button type="submit" class="bg-blue-500 text-white rounded py-2 px-4 hover:bg-blue-800'">Submit</button>
</div>
</form>
Я сохраняю путь через функцию
protected function fileUpload($data)
{
$file=$data;
$fileWithExt = $file->getClientOriginalName();
$filename = pathinfo($fileWithExt,PATHINFO_FILENAME);
$extension = $file->getClientOriginalExtension();
$nameoffile = $filename.'_'.time().'.'.$extension;
$path = $file->move(public_path('images'),$nameoffile);
$path = $nameoffile;
return $path;
}
Я проверил функцию, но она возвращает правильную путь, любая помощь будет оценена