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


Posted in PHP onSeptember 29, 2019

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

配置文件:

config/filesystems.php,

新建存储空间

'uplaods' => [
  'driver' => 'local',
  'root' => storage_path('app/uploads'),
],

视图中:

头像:

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

控制器:

$file = $request->file('headimg');
if($file && $file->isValid()){
//   //获取原图片信息
    $ext = $file->getClientOriginalExtension();
    $originalName = $file->getClientOriginalName();
    $type = $file->getClientMimeType();
    $path = $file->getRealPath();
    //验证图片类型,大小等
    //保存图片
    $save_name = date('YmdHis',time()) .'-' .uniqid() .'.'. $ext;
    $bool = Storage::disk('uploads')->put($save_name,file_get_contents($path));
    if(!$bool){
      return redirect()->back()->withErrors('图片上传失败')->withInput();
    }
}else{
    return redirect()->back()->withErrors('请上传图片')->withInput();
}
//如果验证通过,则继续执行下面的代码
$data = $request->input('Student');
//图片全路径
$img_web_path = storage_path('app/uploads') . '/' .$save_name;
//图片相对路径
$data['headimg'] = $save_name;
if(Student::create($data)){
    return redirect('Student/index')->with('success','添加成功');
}else{
    return redirect()->back();
}

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
杏林同学录(八)
Oct 09 PHP
php header示例代码(推荐)
Sep 08 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
May 29 PHP
解析php通过cookies获取远程网页的指定代码
Jun 25 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
Laravel框架表单验证详解
Sep 04 PHP
php简单实现快速排序的方法
Apr 04 PHP
php简单实现发送带附件的邮件
Jun 10 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 #PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 #PHP
laravel 验证错误信息到 blade模板的方法
Sep 29 #PHP
php写app用的框架整理
Sep 29 #PHP
php使用json-schema模块实现json校验示例
Sep 28 #PHP
php中文语义分析实现方法示例
Sep 28 #PHP
PHP迭代器和生成器用法实例分析
Sep 28 #PHP
You might like
php模拟js函数unescape的函数代码
2012/10/20 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
jQuery 动态酷效果实现总结
2009/12/27 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
谈谈JS中的!!
2017/12/07 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
webpack4简单入门实例
2018/09/06 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
python通过smpt发送邮件的方法
2015/04/30 Python
python django事务transaction源码分析详解
2017/03/17 Python
Python实现识别手写数字大纲
2018/01/29 Python
python取代netcat过程分析
2018/02/10 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
Python中return函数返回值实例用法
2020/11/19 Python
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
什么是网络协议
2016/04/07 面试题
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
写好自荐信的要点
2013/11/06 职场文书
土木工程专业个人求职信
2013/12/30 职场文书
Python必备技巧之字符数据操作详解
2022/03/23 Python