Вмешательство Laravel 5 не может записать данные изображения в путь

Вот мой контроллер

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)

Внутри uploads папки нет 2015 папки, поэтому она должна быть создана автоматически, если папка не существует.

Исправьте, пожалуйста, что не так с моим кодом?

Любая помощь приветствуется.


person Dark Cyber    schedule 16.10.2015    source источник


Ответы (1)


Убедитесь, что папка, в которую вы хотите выполнить запись, существует с правильным владельцем www-data:www-data и правильными разрешениями, еще раз помните.

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

Приведенный выше код не создает папку автоматически, если папка не существует, как говорит здесь разработчик.

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

person Dark Cyber    schedule 17.10.2015