與此代碼,如果文件存在,它會給我錯誤的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 ..感謝在創建目錄之前缺少一些邏輯,請參閱我自己的答案。 –