与此代码,如果文件存在,它会给我错误的Filesystem.php线338Laravel 5文件门面不执行下一个代码if语句假
ErrorException上:mkdir():文件存在
,而不是执行下一个代码,这将插入用户表
.....
if(!File::exists($path.$data['avatar']->getClientOriginalName())){
File::makeDirectory($path, 0755, true);
Image::make($data['avatar']->getRealPath())->resize(200, 200)->save($path.$data['avatar']->getClientOriginalName());
Post::create([
'user_id' => Auth::user()->id,
'content' => "assets/uploads".date('/Y/m/d/').$data['avatar']->getClientOriginalName(),
'type' => 'image'
]);
}
$user = new User;
$user->username = $data['username'];
$user->password = Hash::make($data['password']);
$user->avatar = "assets/uploads".date('/Y/m/d/').$data['avatar']->getClientOriginalName();
$user->email = $data['email'];
$user->first_name = $data['first_name'];
$user->last_name = $data['last_name'];
$user->role_id = $data['level'];
$user->save();
....
AFAIK上面的代码if语句真或假的应该执行插入,我应该使用else
声明?如果是这样,那么我必须重复插入用户两次,这是不好的。
所以,问题是为什么上面的代码返回错误,而不是执行下一个代码?以及如何解决它?
我敢肯定,问题是你在if语句中给出的路径,请仔细检查一次。在某处回应它并检查。你可能会在那里使用一些不需要的路径。 –
@ParthapratimNeog ahhh ..感谢在创建目录之前缺少一些逻辑,请参阅我自己的答案。 –