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 相关文章推荐
php+mysql实现无限级分类 | 树型显示分类关系
Nov 19 PHP
实用函数4
Nov 08 PHP
php 字符转义 注意事项
May 27 PHP
php session劫持和防范的方法
Nov 12 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
Aug 04 PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 PHP
自制PHP框架之路由与控制器
May 07 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
Jul 08 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 广告调用类代码(支持Flash调用)
2011/08/11 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
无阻塞加载脚本分析[全]
2011/01/20 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
js module大战
2019/04/19 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
Python图算法实例分析
2016/08/13 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
高中军训广播稿
2014/01/14 职场文书
新员工试用期自我评价
2015/03/10 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫