ThinkPHP文件上传

    在自己写的类中加入一个方法,下面我把我写的一个方法直接拿上来:

    /*
     * 文件上上传
     * */
    public function fileUpload(){
        //指定文件保存的根目录,我的是在网站根目录下的Uploads中保存,这里依实际改变
        $requestRootPath = '/Uploads/';
        $uploadRootPath = '.'.$requestRootPath;
        
        //导入上传类
        import("@.ORG.UploadFile");
        //实例化上传类
        $upload = new \Think\Upload();
        //设置上传文件大小
        $upload->maxSize = 3292200;
        //设置上传文件类型
        $fileType = array(
            'jpg','gif','png','jpeg',
            'txt','doc','docx','ppt','pptx','xls','xlsx'
        );
        $upload->allowExts = $fileType;
        //设置附件上传目录
        $upload->rootPath = $uploadRootPath;
        //设置需要生成缩略图,仅对图像文件有效
        $upload->thumb = true;
        // 设置引用图片类库包路径
        $upload->imageClassPath = '@.ORG.Image';
        //设置需要生成缩略图的文件后缀
        $upload->thumbPrefix = 'm_,s_';  //生产2张缩略图
        //设置缩略图最大宽度
        $upload->thumbMaxWidth = '400,100';
        //设置缩略图最大高度
        $upload->thumbMaxHeight = '400,100';
        //设置上传文件规则
        $upload->saveRule = 'uniqid';
        //删除原图
        $upload->thumbRemoveOrigin = true;
        //执行上传类中upload方法进行文件保存与参数返回,并将返回的参数赋给$uploadResult
        $uploadResult = $upload->upload();
        if (!$uploadResult) {
            //捕获上传异常
            $this->error($upload->getError);
        } else {
            //取得成功上传的文件信息
            //$uploadList = $upload->getUploadFileInfo();
            //导入图形类
            import("@.ORG.Image");
            //给m_缩略图添加水印, Image::water('原文件名','水印图片地址'),下面仅为一个示例,依自己需求进行使用
            Image::water($uploadList[0]['savepath'] . 'm_' . $uploadList[0]['savename'], APP_PATH.'Tpl/Public/Images/logo.png');
            //$_POST['image'] = $uploadList[0]['savename'];
            //将文件信息保存到文件表中
            /*
            *
            *.............这里写自己的处理程序
            *
            */
            //如果用的异步,则返回结果
            $this->ajaxReturn($result);
        }
    }

    如果在您的ThinkPHP项目中有多处需要上传文件 ,那么在可以用这个方法为总入口,进行一个自定封装,其它地方可以传参数调用。

版权声明: 此文为本站源创文章[或由本站编辑从网络整理改编], 转载请备注出处:http://www.sindsun.com/article-details-17.html [若此文确切存在侵权,请联系本站管理员进行删除!]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏怀英的自我修炼

考研英语-1-导学

英二图表作文要重视。总体而言,英语一会比英语二难点。不过就写作而言,英语二会比英语一有难度,毕竟图表作文并不好写。

11910
来自专栏腾讯社交用户体验设计

ISUX Xcube智能一键生成H5

51220
来自专栏微信公众号:小白课代表

不只是软件,在线也可以免费下载百度文库了。

不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

44530
来自专栏前端桃园

知识体系解决迷茫的你

最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

21440
来自专栏腾讯高校合作

【倒计时7天】2018教育部-腾讯公司产学合作协同育人项目申请即将截止!

15720
来自专栏haifeiWu与他朋友们的专栏

复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

29640
来自专栏Ken的杂谈

【系统设置】CentOS 修改机器名

18030
来自专栏钱塘大数据

中国互联网协会发布:《2018中国互联网发展报告》

在2018中国互联网大会闭幕论坛上,中国互联网协会正式发布《中国互联网发展报告2018》(以下简称《报告》)。《中国互联网发展报告》是由中国互联网协会与中国互联...

13550
来自专栏FSociety

SQL中GROUP BY用法示例

GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

5.1K20
来自专栏钱塘大数据

理工男图解零维到十维空间,烧脑已过度,受不了啦!

让我们从一个点开始,和我们几何意义上的点一样,它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。它什么也没有,空间、时间通通不存在,这就是零维度。

33330

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励