thinkphp3.2上传方法使用教程

<?php
 //名称空间
 namespace Open\Controller;
 //加载控制器类
 use Think\Controller;
 //加载上传类
 use Think\Upload;
 class FileController extends Controller {
    public function test_upload($ftype = 'image') {
        //这里划分一下允许上传的文件类型,与3.1相比,文件类型不再是数组类型了,而是字符串,这是个区别。
        if ($ftype == 'image') {
            $ftype = 'jpg,gif,png,jpeg,bmp';
        } else if ($ftype == 'file') {
            $ftype = 'zip,rar,doc,xls,ppt';
        }
        $setting = array(
            'mimes' => '', //允许上传的文件MiMe类型
            'maxSize' => 6 * 1024 * 1024, //上传的文件大小限制 (0-不做限制)
            'exts' => $ftype, //允许上传的文件后缀
            'autoSub' => true, //自动子目录保存文件
            'subName' => array('date', 'Y-m-d'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
            'rootPath' => './Uploads/', //保存根路径
            'savePath' => '', //保存路径
        );
        /* 调用文件上传组件上传文件 */
        //实例化上传类,传入上面的配置数组
        $this->uploader = new Upload($setting, 'Local');
        $info = $this->uploader->upload($_FILES);
        //这里判断是否上传成功
        if ($info) {
             上传成功 获取上传文件信息
            foreach ($info as &$file) {
                //拼接出上传目录
                $file['rootpath'] = __ROOT__ . ltrim($setting['rootPath'], ".");
                //拼接出文件相对路径
                $file['filepath'] = $file['rootpath'] . $file['savepath'] . $file['savename'];
            }
            //这里可以输出一下结果,相对路径的键名是$info['upload']['filepath']
            dump($info['upload']);
            exit();
        } else {
            //输出错误信息
            exit($this->uploader->getError());
        }
    }
 }


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值