0

这是我的控制器

public function store()
{ 
    $data = Request::all();

    $rules = [
                'password'   => 'required|confirmed|min:3',
                'avatar'     => 'required|image|mimes:jpeg,png,bmp',
                'email'      => 'required|email|unique:users',
                'first_name' => 'required',
                'last_name'  => 'required',
                'level'      => 'required'
            ];

    $validator = validator::make($data, $rules);

    if($validator->passes()){
        if(!file_exists(public_path("assets/uploads".date('/Y/m/d/').$data['avatar']->getClientOriginalName()))){
            $path = public_path("assets/uploads".date('/Y/m/d/').$data['avatar']->getClientOriginalName());
            Image::make($data['avatar']->getRealPath())->resize(200, 200)->save($path);
        }
    }
}

这是我的错误

无法将图像数据写入路径 (/var/www/html/rnd/public/assets/uploads/2015/10/16/tes.jpg)

2015文件夹内没有文件uploads夹,所以如果文件夹不存在,它应该自动创建。

请纠正我的代码有什么问题?

任何帮助表示赞赏。

4

1 回答 1

0

请确保您要写入的文件夹以正确的所有者和正确的权限存在www-data:www-data,再一次记住。

Image::make($data['avatar']->getRealPath())->resize(200, 200)->save($path);

如果文件夹不存在,如开发人员所说,上述代码不会自动创建文件夹here

https://github.com/Intervention/image/issues/56

于 2015-10-17T16:27:15.220 回答