文档章节

【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
网站安全检测 漏洞检测 对thinkphp通杀漏洞利用与修复建议

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

网站安全
09/05
0
0
网站安全检测 网站漏洞修复 对thinkphp通杀漏洞利用与修复建议

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

网站安全
09/05
0
0
ThinkPHP学习笔记-上传类UploadFile的使用

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

Jceee
2014/03/23
0
0
ThinkPHP 框架培训资料

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

岭南六少
2012/02/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring之IOC和AOP学习摘要

一、IOC(Inversion of Control)或者依赖注入(Dependency Injection) 1、底层实现原理:反射 2、三大核心接口: BeanFactory:简单容器系列,只是实现了容器最基本的功能。 ApplicationC...

狠一点
24分钟前
4
0
缓存架构SpringBoot集成Curator实现zookeeper分布式锁

一、分布式锁简介 1、什么是锁 在单机环境下,当存在多个线程可以同时改变某个共享变量时,就需要同步来实现该功能,使其线程安全。 而同步就是通过锁来实现的。锁保证了同一时刻只有一个线程...

架构师springboot
26分钟前
1
0
11《Java核心技术》之Java提供了哪些IO方式? NIO如何实现多路复用?

一、提出问题 IO 一直是软件开发中的核心部分之一,伴随着海量数据增长和分布式系统的发展,IO 扩展能力愈发重要。幸运的是,Java 平台 IO 机制经过不断完善,虽然在某些方面仍有不足,但已经...

飞鱼说编程
33分钟前
4
0
简单介绍Java 的JAR包、EAR包、WAR包区别

WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。 War是...

linuxprobe16
33分钟前
1
0
55:Mysql用户管理|常用sql语句|mysql数据库备份恢复

1、Mysql用户管理; 场景,为了安全,新建的站点,创建新的用户,或者给已有用户授权,对某个库或者某个表有权限; 语法: grant all on *.* to 'user'@'127.0.0.1' identified by 'password'; g...

芬野de博客
37分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部