• 技术文章 >后端开发 >php教程

    ThinkPHP实现附件上传功能

    不言不言2018-05-05 15:18:46原创831
    这篇文章主要为大家详细介绍了ThinkPHP实现附件上传功能,图片,文档,视频等文件进行上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    刚学的使用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(), // 上传驱动配置
     );

    相关推荐:

    thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法

    thinkphp实现文件上传和文件下载


    以上就是ThinkPHP实现附件上传功能的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:ThinkPHP php 功能
    上一篇:ThinkPHP3.2.2实现持久登录功能的方法 下一篇:基于thinkPHP框架实现留言板的方法
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php 验证码制作(网树注释思想)_PHP• PHP中重新定向到另一个页面_PHP• PHP4.04在英文win2000下的安装_PHP• 第十一节重载[11]_PHP• 第一节 简介_PHP
    1/1

    PHP中文网