html部分

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>图片上传</title>
</head>
<body>
<form enctype="multipart/form-data" action="__URL__/upload" method="post">
    <input type="file" name="photo[]" multiple>
    <input type="submit" value="提交">
</form>
</body>
</html>

php代码

<?php
namespace Home\Controller;
use Think\Controller;

class IndexController extends Controller {
    public function upload() {
        $upload = new \Think\UploadFile();// 实例化上传类
        $upload->maxSize = 3000000 ;// 设置附件上传大小  C('UPLOAD_SIZE');
        $upload->savePath = './Uploads/' . 'thumb/'; // 设置附件上传目录
        $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
        $upload->saveRule = 'uniqid';
        $upload->uploadReplace = true; //是否存在同名文件是否覆盖
        
        $upload->thumb = true; //是否对上传文件进行缩略图处理
        $upload->thumbMaxWidth = '300,600'; //缩略图处理宽度
        $upload->thumbMaxHeight = '200,400'; //缩略图处理高度
        $upload->thumbPrefix = 'm_,s_';  //生产2张缩略图
        $upload->thumbPath = './Uploads/' . 'thumb/' . date('Ymd', time()) . '/'; //缩略图保存路径
         
        $upload->thumbRemoveOrigin = true; //上传图片后删除原图片
        $upload->autoSub = true; //是否使用子目录保存图片
        $upload->subType = 'date'; //子目录保存规则
        $upload->dateFormat = 'Ymd'; //子目录保存规则为date时时间格式
        
        if (!$upload->upload()) {// 上传错误提示错误信息
            $this->error($upload->getError());
        } else {

     // 上传成功 获取上传文件信息
            $info = $upload->getUploadFileInfo();
            foreach ( $info as $file ) {

       // 保存当前数据对象
                $model = M ( 'web_img' );
                $picname = $file['savename'];
                $picname = explode('/', $picname);
                $url1 = $picname[0] . '/' . 'm_' . $picname[1];
                $url2 = $picname[0] . '/' . 's_' . $picname[1];
                $temp["face"] = $file['savepath'].$url2;    //大缩略图
                $temp["thumb"] = $file['savepath'].$url1;   //小缩略图
                $temp["Addtime"] = date("Y/m/d H:i:s");
                $save=$model->add ( $temp );
            }
            if($save){
                $this->success('上传成功!');
            }
        }
         
    }
}

多图上传几个注意点:

1、<form enctype="multipart/form-data">
 
2、<input type="file" name="photo[]" multiple>
 
3、注意thinkphp3.2.2并没有UploadFile,UploadImage 类

要自己加入: 把他们放到ThinkPHP\Library\Think目录下     下载我百度网盘点击下载:UploadFile,UploadImage 类下载

thinkphp3.2.3多图上传并且生成多张缩略图的更多相关文章

  1. thinkphp3.2.x多图上传并且生成多张缩略图

    html部分 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" con ...

  2. java 上传文件-生成文件首页缩略图 生成pdf 抓取图片

    方法:1.文件转换成pdf(采用openoffice或者jacob)   2.抓取pdf首页图 第一步:采用jacob: a.下载jacob  注意区分32位,64位,否则不能用 将dll文件放在ja ...

  3. thinkphp3.2.2有预览的多图上传

    thinkphp3.2.2有预览的多图上传 整体思路 1 封装文件上传和图片上传的类文件 2 视图中添加相关JS和表单提交 3 控制器中添加上传文件的相关代码 一 2个class 文件 请上传到/Th ...

  4. yii2组件之多图上传插件FileInput的详细使用

    作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...

  5. iOS 使用AFN 进行单图和多图上传

    图片上传时必要将图片进行压缩,不然会上传失败 1.单张图上传 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManag ...

  6. PHP之:多图上传

    撰写日期:2016-6-30 15:17:35 Thursday 参考 http://a3147972.blog.51cto.com/2366547/1381136 (08-05ThinkPHP+sw ...

  7. 微信jssdk,实现多图上传的一点心得

    一.首先在common.js里封装一个函数,在需要调用jsSDK的页面引用此方法即可实现微信的信息配置function signatureJSSDK() { var url = window.loca ...

  8. JS案例之4——Ajax多图上传

    近期项目中有好几次用到多图上传,第一次在项目中真正用到Ajax技术,稍微整理了下,贴个案例出来. 我们传统的做法是当用户提交一个表单时,就向web服务器端发送一个请求.服务器接受并处理传来的表单信息, ...

  9. 微信企业号办公系统-JSSDK上传图片(多图上传)

    在开发微信企业号办公系统中,涉及到了图片上传功能,一开始使用的flash插件上传方法,在苹果手机上可以调用相机直接拍摄照片,但在安卓手机上只能选择照片. 微信jssdk-api带有一套完整的调用选择本 ...

随机推荐

  1. System Center Configuration Manager 2016 域准备篇(Part3)

    步骤2.将CM16加入域 注意:在ConfigMgr服务器(CM16 )上以本地管理员身份执行以下操作 手动加入域,请登录CM16.启动Windows文件资源管理器 右键单击This-PC,然后选择 ...

  2. 解决“SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问……”【转】

    SQL Server 阻止了对组件 /'Ad Hoc Distributed Queries/' 的访问 在Sql Server中查询一下Excel文件的时候出现问题: SELECT *  FROM ...

  3. ubuntu openstack windows 镜像制作

    openstack  windows 镜像制作 首先下载windows所需要的驱动,virtio-win-1.1.16.vfd virtio-win-0.1-59.iso 下载的官方地址是: http ...

  4. IOS 控制器View的创建方式(方式的优先级 、view的延迟加载)

    MJViewController的view的创建 的方式的优先级 控制器view的延迟加载 ● 控制器的view是延迟加载的:用到时再加载 ● 可以用isViewLoaded方法判断一个UIViewC ...

  5. Linux 文件的压缩与解压

    1.  tar结尾压缩命令 [root@test ~]# tar -cvf grub.tar /boot/grub/ 查看压缩包文件 [root@test ~]# tar -vtf grub.tar ...

  6. 【51nod1705】七星剑(成环DP)

    点此看题面 大致题意: 你要把一把剑从0星升至7星,有n颗宝石供你选择,第i颗宝石的价值是c[i],用第i颗宝石将剑从k-1星升至k星的成功率是prob[k][i],而失败后会掉lose[k][i], ...

  7. 2018.10.05 TOPOI提高组模拟赛 解题报告

    得分: \(100+5+100=205\)(真的是出乎意料) \(T1\):抵制克苏恩(点此看题面) 原题: [BZOJ4832][Lydsy1704月赛] 抵制克苏恩 应该还是一个比较简单的\(DP ...

  8. C语言 数组名不是首地址指针

    今天上计算机系统课的时候老师讲到了C中的聚合类型的数据结构.在解释数组名的时候说"数组名是一个指针,指向该数组的第一个元素",附上ppt(第二行): 我觉得这是不正确的,是一个常见 ...

  9. 【转】 Solr的SolrCloud与Master-slave主从模式对比

    第一印象 SolrCloud是Solr4.0引入的,主要应对与商业场景.它很像master-slave,却能自动化的完成以前需要手动完成的操作.利用ZooKeeper这个工具去监控整个Solr集群,以 ...

  10. ETL工具--DataX3.0实战

    DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成. DataX ...