文档章节

【Thinkphp】图片上传

RablePHP
 RablePHP
发布于 2017/09/07 10:47
字数 246
阅读 24
收藏 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
!求助:ubuntu下thinkphp框架生成目录权限的问题

!求助:ubuntu下thinkphp框架生成的Application目录中的文件权限都是755, 能否改变, 使其生成时就是777. 另外, 使用thinkphp, 上传文件时, 生成的名字为日期的目录权限无法改变。用upl...

xkeos
2014/05/03
3.5K
5
急求:linux服务器上xampp环境下使用thinkphp3.2.3连接不到mysql

大神过来看一下哈,我本地用的是window xp系统,wampserver的环境,thinkphp框架,编写的一个小网站,上传到linux服务器上面,就打不开了,会出现如下的错误: :( SQLSTATE[HY000] [2002] Co...

kuangkuang1
2015/11/14
3.5K
10
网站安全检测 网站漏洞修复 对thinkphp通杀漏洞利用与修复建议

thinkphp在国内来说,很多站长以及平台都在使用这套开源的系统来建站,为什么会这么深受大家的喜欢,第一开源,便捷,高效,生成静态化html,第二框架性的易于开发php架构,很多第三方的插件...

网站安全
2018/09/05
0
0
Thinkphp整合最新Ueditor编辑器

说到最新的富文本编辑器的确不少(ckeditor、fkeditor、ueditor),这些富文本编辑器如果单独使用基本上很方便,不需要做额外的配置,只要把官方的插件下载下来放到一个web容器中,看看 插件中提...

nsns
2018/08/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

a标签点击浏览器下载图片,不打开

网上好多给a标签加download属性的,但都不好使。 <!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Auth......

S三少S
4分钟前
14
0
搭建私有maven仓库并在项目中使用

这是一篇写给女朋友看的教程...前方高能,注意避让~ 1.私有maven仓库的搭建 搭建环境为阿里云ESC服务器,CentOS.确保服务器已经安装Jdk。然后我要手把手教你安装和启动nexus。 Step1:新建一个...

liululee
7分钟前
1
0
js 写文件

//写文件function doSave(value, type, name) {    var blob;    if (typeof window.Blob == "function") {        blob = new Blob([value], {type: type});    }......

重城重楼
16分钟前
1
0
Ubuntu and Apache 搭建 Let's Encrypt SSL Https

本文参考来着来自https://www.howtoing.com/install-free-lets-encrypt-ssl-certificate-for-apache-on-debian-and-ubuntu 感谢作者的分享 本事例环境介绍 ubuntu (Version 16.04.1 LTS) ubu......

罗培海
20分钟前
16
0
如何优雅的使用RabbitMQ

目录 RabbitMQ无疑是目前最流行的消息队列之一,对各种语言环境的支持也很丰富,作为一个.NET developer有必要学习和了解这一工具。消息队列的使用场景大概有3种: 1、系统集成,分布式系统的...

编程SHA
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部