当前位置:首页 > CMS教程 > 其它CMS > 列表

Laravel框架实现文件上传的方法分析

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-24 10:35:43 浏览: 评论:0 

本文实例讲述了Laravel框架实现文件上传的方法,分享给大家供大家参考,具体如下:

配置文件:

config/filesystems.php,

新建存储空间

  1. 'uplaods' => [ 
  2.   'driver' => 'local'
  3.   'root' => storage_path('app/uploads'), 
  4. ], 

视图中:

头像:

<input type="file" name="headimg" />

控制器:

  1. $file = $request->file('headimg'); 
  2. if($file && $file->isValid()){ 
  3. //   //获取原图片信息 
  4.     $ext = $file->getClientOriginalExtension(); 
  5.     $originalName = $file->getClientOriginalName(); 
  6.     $type = $file->getClientMimeType(); 
  7.     $path = $file->getRealPath(); 
  8.     //验证图片类型,大小等 
  9.     //保存图片 
  10.     $save_name = date('YmdHis',time()) .'-' .uniqid() .'.'$ext
  11.     $bool = Storage::disk('uploads')->put($save_name,file_get_contents($path)); 
  12.     if(!$bool){ 
  13.       return redirect()->back()->withErrors('图片上传失败')->withInput(); 
  14.     } 
  15. }else
  16.     return redirect()->back()->withErrors('请上传图片')->withInput(); 
  17. //如果验证通过,则继续执行下面的代码 
  18. $data = $request->input('Student'); 
  19. //图片全路径 
  20. $img_web_path = storage_path('app/uploads') . '/' .$save_name
  21. //图片相对路径 
  22. $data['headimg'] = $save_name
  23. if(Student::create($data)){ 
  24.     return redirect('Student/index')->with('success','添加成功'); 
  25. }else
  26.     return redirect()->back(); 
  27. }

Tags: Laravel文件上传

分享到: