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
一个改进的UBB类
Oct 09 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
php中error与exception的区别及应用
Jul 28 PHP
ThinkPHP控制器详解
Jul 27 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
Thinkphp框架开发移动端接口(2)
Aug 18 PHP
CakePHP框架Model函数定义方法示例
Aug 04 PHP
PHP静态延迟绑定和普通静态效率的对比
Oct 20 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 PHP
PHP如何防止用户重复提交表单
Dec 09 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 第三节 变量介绍
2012/04/28 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
使用Python绘制图表大全总结
2017/02/11 Python
Python解惑之True和False详解
2017/04/24 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
2020/04/07 HTML / CSS
意大利单身交友网站:Meetic
2020/07/12 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
计算机专业职业规划
2014/02/28 职场文书
2014年销售部工作总结
2014/12/01 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
如何撰写出一份完美的商业计划书?
2019/07/12 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python