ThinkPHP实现附件上传功能


Posted in PHP onApril 27, 2017

刚学的使用ThinkPHP框架简单上传附件(图片,文档,视频等文件)

首先需要了解tp框架中Upload.class.php(ThinkPHP/Library/Think/Upload,class,php)中的几个函数

1:getError() 获取上传错误信息

2:uploadOne() 上传单个文件

3:upload() 上传多个文件

4:rootPath 上传文件保存根路径

代码如下

前台:

<td>商品图片</td>
<td>
 <input type="file" name="goods_pic" />
</td>

控制器

//处理上传附件图片
  
  //判断是否上传 4:没有上传附件
  if ($_FILES['goods_pic']['error']<4) {
   
   //上传
   $cfg = array(
   'rootPath' => './Public/uploads/', //保存根路径
   );
   $upload = new \Think\Upload($cfg); //完全限定名称 实例化对象 

   //uploadOne()方法执行成功后会把附件(在服务器上)的名字和路径等相关信息返回
   $file_info=$upload->uploadOne($_FILES['goods_pic']);
   
   //把上传好的附件存到数据库 拼接路径
   //$upload->rootPath通过父类upload.class.php中的__get()方法获取配置中的rootPath
   $_POST['goods_big_img']=$upload->rootPath.$file_info['savepath'].$file_info['savename'];
  }

如果对上传附件有其他要求,可参考父类Upload.class.php中上传配置config参数进行选择需要的参数,只需在上面代码$cfg=array()中重写即可!

父类上传配置参数如下(可根据自己要求重写):

private $config = array(
  'mimes'   => array(), //允许上传的文件MiMe类型
  'maxSize'  => 0, //上传的文件大小限制 (0-不做限制)
  'exts'   => array(), //允许上传的文件后缀
  'autoSub'  => true, //自动子目录保存文件
  'subName'  => array('date', 'Y-m-d'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
  'rootPath'  => './Uploads/', //保存根路径
  'savePath'  => '', //保存路径
  'saveName'  => array('uniqid', ''), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
  'saveExt'  => '', //文件保存后缀,空则使用原后缀
  'replace'  => false, //存在同名是否覆盖
  'hash'   => true, //是否生成hash编码
  'callback'  => false, //检测文件是否存在回调,如果存在返回文件信息数组
  'driver'  => '', // 文件上传驱动
  'driverConfig' => array(), // 上传驱动配置
 );

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
提升PHP速度全攻略
Oct 09 PHP
php 随机排序广告的实现代码
May 09 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP如何使用Memcached
Apr 05 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
yii gridview实现时间段筛选功能
Aug 15 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
PHP文件类型检查及fileinfo模块安装使用详解
May 09 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 #PHP
php实现头像上传预览功能
Apr 27 #PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 #PHP
phpMyAdmin无法登陆的解决方法
Apr 27 #PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 #PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 #PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 #PHP
You might like
php错误、异常处理机制(补充)
2012/05/07 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
vue、react等单页面项目应该这样子部署到服务器
2018/01/03 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
Python实现的拉格朗日插值法示例
2019/01/08 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
python实现抽奖小程序
2020/04/15 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
写好自荐信的技巧
2013/11/08 职场文书
历史系自荐信范文
2013/12/24 职场文书
《理想》教学反思
2014/02/17 职场文书
地震捐款倡议书
2014/08/29 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
python超详细实现完整学生成绩管理系统
2022/03/17 Python
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL
Redis批量生成数据的实现
2022/06/05 Redis