【发布时间】:2015-10-17 10:27:30
【问题描述】:
如果文件存在,则使用此代码会给我错误
Filesystem.php 第 338 行中的 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 上面的代码应该执行 insert if 语句 true 或 false,我应该使用 else 语句吗?如果是这样,那么我必须重复两次插入用户,这很糟糕。
那么,问题是为什么上面的代码返回错误而不是执行下一个代码?以及如何解决?
【问题讨论】:
-
我确定问题出在您在 if 语句中给出的路径上,请仔细检查一次。在某处回显并检查。您可能在其中使用了一些不需要的路径。
-
@ParthapratimNeog ahhh .. 感谢在创建目录之前缺少一些逻辑,请参阅我自己的答案。
标签: php laravel-5 file-exists