Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法从文件()中读取图像_Php_Laravel - Fatal编程技术网

Php 无法从文件()中读取图像

Php 无法从文件()中读取图像,php,laravel,Php,Laravel,我试图让我的用户上传他们的个人资料图像,当我点击提交按钮保存更改时,将出现此错误 Decoder.php第20行中的NotReadableException: 无法从文件()读取图像。 这是我在控制器中的更新方法: public function update(Request $request, $id) { $user = User::find($id); $this->validate($request, array( 'fi

我试图让我的用户上传他们的个人资料图像,当我点击提交按钮保存更改时,将出现此错误

Decoder.php第20行中的NotReadableException: 无法从文件()读取图像。

这是我在控制器中的更新方法:

public function update(Request $request, $id)
    {
        $user = User::find($id);
        $this->validate($request, array(
          'first_name' => 'required|string|max:255',
          'last_name' => 'required|string|max:255',
          'gender' => 'required',
          'birthday' => 'required|date_format:d/m/Y|max:25',
          'email' => [
              'required', 'string', 'nullable', 'email', 'max:255',
              Rule::unique('users')->ignore($user->id),
            ],
          'password' => 'nullable|string|min:6|confirmed',
          'user_image' => 'sometimes|image',
        ));

        $user = User::find($id);

        $user->first_name = $request->input('first_name');
        $user->last_name = $request->input('last_name');
        $user->gender = $request->input('gender');
        $user->birthday = $request->input('birthday');
        $user->email = $request->input('email');
        if (trim(Input::get('password')) != '') {
          $user->password = Hash::make(trim(Input::get('password')));
        }


        //store user image
        if ($request->hasFile('user_image')) {
          $avatar = $request->file('user_image');
          $filename = time() . '.' . $avatar->getClientOriginalExtension();
          $location = public_path('avatars/' . $filename);
          Image::make($avatar)->resize(200, 200)->save($location);

          $user->image = $filename;
        }

        $user->save();

        Session::flash('success', 'Your information was successfully updated.');

        return redirect()->route('jobseeker.profile', $user->id);
    }
这是我的刀片模板图像部分:

<div class="panel-body">
<p>
@if (Auth::user()->image && File::exist(public_path("avatars/" . Auth::user()->image)))
<img src="{{ Auth::user()->image }}" alt="user image" class="img-responsive" >
 @else
<img src="{{ 'https:://www.gravatar.com/avatar/' . md5(strtolower(trim(Auth::user()->email))) . '?s=200&d=wavatar' }}" alt="user image" class="img-responsive" >
   @endif
</p>
<p>
   {{ Form::label('user_image', 'Upload Your Image') }}
   {{ Form::file('user_image') }}
</p>
</div>


@如果(Auth::user()->image&&File::exist(公共路径(“avatars/”.Auth::user()->image)))
image}“alt=”user image“class=”img responsive“>
@否则
电子邮件))。?s=200&d=wavatar'}“alt=“user image”class=“img responsive”>
@恩迪夫

{{Form::label('user_image','Upload Your image')} {{Form::file('user_image')}

我使用的是Laravel5.4,上传图片时我使用的是干预图片


知道为什么吗?

我解决了删除Image::make的问题,并将代码更改为:

//store user image
        if ($request->hasFile('user_image')) {
          $avatar = $request->file('user_image');
          $filename = time() . '.' . $avatar->getClientOriginalExtension();
          $location = public_path('avatars/');
          $request->file('user_image')->move($location, $filename);


          $user->image = $filename;
        }

如果您有更好的想法,请与他人分享。

在您的图像中尝试$avatar->path()而不是$avatar,并声明您的意思是这样的吗<代码>$filename=time()$化身路径()->getClientOriginalExtension()不,在你的图像制作代码中,
图像::制作($avatar->path())
@SapneshNaik抱歉,我真的不明白!:(请告诉我代码好吗?
Image::make($avatar->path())->调整大小(200200)->保存($location);