文档章节

【Thinkphp】图片上传

RablePHP
 RablePHP
发布于 2017/09/07 10:47
字数 246
阅读 21
收藏 0

/**
 * 上传图片
 * @param string $key   啦啦啦
 * @param string $path
 * @param string $filename
 * @param bool $thumb
 * @return array('status'=>1,'msg'=>'上传成功','data'=>$info)
 */
function uploadImg($key = '',$path = 'uploads/',$filename = '',$thumb = false){
    $upload = new \Think\Upload();
    $upload->__set('maxSize',5000000);
    $upload->__set('exts',array('jpg', 'gif', 'png', 'jpeg'));
//    $upload->__set('rootPath','');
    $upload->__set('savePath',$path);
    $upload->__set('saveName',$filename);
    $upload->__set('subName','');
    $upload->uploadReplace = true;

    //创建目录
    if ( ! file_exists($path)){
        mkdir($path,0777,true);
    }

    if (!$key){
        $info = $upload->upload();
    }else{
        $info = $upload->uploadOne($_FILES[$key]);
    }

    if(!$info) {// 上传错误提示错误信息
        $error = $upload->getError();
    }else{// 上传成功

    }
    if ($error){
        return array('status'=>0,'msg'=>$error,'data'=>array());
    }
    //图片的位置
    $info['path'] = 'uploads'.$info['savepath'].$info['savename'];

    if ($thumb){
        $image = new \Think\Image();
        $image->open($info['path']);
        // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg
        if(!file_exists($path.'x1/')){
            mkdir('./uploads/'.$path.'x1/',0777);
        }

        if(!file_exists($path.'x2/')){
            mkdir('./uploads/'.$path.'x2/',0777);
        }
        $image->thumb(150, 150)->save('./uploads'.$info['savepath'].'x1/'.$info['savename']);
        $info['path_x1'] = 'uploads'.$info['savepath'].'x1/'.$info['savename'];

        $image->open($info['path']);
        $image->thumb(350, 350)->save('./uploads'.$info['savepath'].'x2/'.$info['savename']);
        $info['path_x2'] = 'uploads'.$info['savepath'].'x2/'.$info['savename'];
    }
    return array('status'=>1,'msg'=>'上传成功','data'=>$info);
}

© 著作权归作者所有

共有 人打赏支持
RablePHP
粉丝 15
博文 47
码字总数 11895
作品 0
巴南
程序员
thinkphp_图片上传裁剪功能_已迁移

准备材料 THINKPHP jQuery表单插件 cropper 裁剪插件 思路: 利用THINKPHP上传文件类与图片裁剪类,前台想办法组合参数给后台 那怎么样可以异步提交文件呢 关键就是 jquery表单插件了 后台准...

辣条拌鱼翅
2015/09/25
0
1
ThinkPHP 框架培训资料

┎━ThinkPHP 框架系统目录 ┃ ┝ ThinkPHP.php 系统公共文件 ┃ ┝ Common 公共文件目录 ┃ ┝ Tpl 框架系统模版目录 ┃ ┝ Lang 系统语言包目录 ┃ ┝ PlugIns 公共插件目录 ┃ ┗ Lib 系统...

岭南六少
2012/02/16
0
0
ThinkPHP学习笔记-上传类UploadFile的使用

上传类的使用很简单,如果是第一次使用上传功能的朋友需要注意的是html提交表单中的表单属性要加上 enctype属性,如: <form method="post" action="upload.php" enctype="multipart/form-da...

Jceee
2014/03/23
0
0
新手指导Thinkphp开发指南

小编于昨日参加朋友婚礼,浑身喜气洋洋。今天给用户带来的是关于thinkphp开发指南的纯技术性的文档,本文档目的很简单: 1、 帮助开发人员掌握thinkphp入门 2、 快速利用thinkphp进行项目开发...

汤圆
2012/12/25
0
1
php开发笔记-windows-linux-thinkphp开发环境搭建

文章来自我的博客:https://www.lwxshow.com/dev/php/thinkphp-configuration-environment.html 使用最新版本的3.1.3版本 php开发笔记-windows-thinkphp开发环境搭建 1.下载ThinkPHP框架 http...

卢卫湘
2013/06/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
今天
199
6
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
今天
1
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部