记录一下过程,使用php原生的方法,上传图片后把图片的路径存储到了数据库。
$file =$request->file('pic'); $allowed_extensions = ["png","jpg","jpeg"]; if ($file->getClientOriginalExtension() && !in_array($file->getClientOriginalExtension(), $allowed_extensions)) { return redirect()->back()->withInput()->withErrors("只允许上传.jpg .png .jpeg"); } $path = 'storage/uploads/runner/'; $extension = $file->getClientOriginalExtension(); $fileName = str_random(10).'.'.$extension; $file->move($path,$fileName); $filePath = asset($path.$fileName); $runner->pic = $filePath;
在删除的时候使用php的unlink("$path")方法,这里要注意的是 $path是laravel下public目录后的相对路径,需要对字符串进行拼接。
$path = $runner->pic; $pos = strpos($path, 'storage'); /*dd($pos);*/ $path = substr($path,$pos,strlen($path)); unlink("$path");