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代码
Aug 08 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
Nov 07 PHP
PHP执行批量mysql语句的解决方法
May 02 PHP
php5.2以下版本无json_decode函数的解决方法
May 25 PHP
ThinkPHP表单自动提交验证实例教程
Jul 18 PHP
Thinkphp多文件上传实现方法
Oct 31 PHP
phpnow php探针环境检测代码
Nov 04 PHP
PHP date函数常用时间处理方法
May 11 PHP
初识ThinkPHP控制器
Apr 07 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
PHP实现支持CURL字符串证书传输的方法
Mar 23 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开发者的10个技巧
2011/02/25 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
理解nodejs的stream和pipe机制的原理和实现
2017/08/12 NodeJs
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
Python实现的个人所得税计算器示例
2018/06/01 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
Django实现celery定时任务过程解析
2020/04/21 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
什么是就业协议书
2014/04/17 职场文书
兵马俑的导游词
2015/02/02 职场文书
人事专员岗位职责
2015/02/03 职场文书
博士生专家推荐信
2015/03/25 职场文书
高中历史教学反思
2016/02/19 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python