thinkphp3.2.x多图上传并且生成多张缩略图
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 = '100,300'; //缩略图处理宽度
$upload->thumbMaxHeight = '50,150'; //缩略图处理高度
$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());
//echo json_encode(array('msg' => $this->error($upload->getErrorMsg()), 'status' => 0));
} 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('上传成功!');
//echo json_encode(array('status' => 1, 'msg' => '上传成功!'));
}
}
}
}
多图上传几个注意点:
thinkphp3.2.x多图上传并且生成多张缩略图的更多相关文章
- thinkphp3.2.3多图上传并且生成多张缩略图
html部分 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" con ...
- java 上传文件-生成文件首页缩略图 生成pdf 抓取图片
方法:1.文件转换成pdf(采用openoffice或者jacob) 2.抓取pdf首页图 第一步:采用jacob: a.下载jacob 注意区分32位,64位,否则不能用 将dll文件放在ja ...
- thinkphp3.2.2有预览的多图上传
thinkphp3.2.2有预览的多图上传 整体思路 1 封装文件上传和图片上传的类文件 2 视图中添加相关JS和表单提交 3 控制器中添加上传文件的相关代码 一 2个class 文件 请上传到/Th ...
- yii2组件之多图上传插件FileInput的详细使用
作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...
- iOS 使用AFN 进行单图和多图上传
图片上传时必要将图片进行压缩,不然会上传失败 1.单张图上传 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManag ...
- PHP之:多图上传
撰写日期:2016-6-30 15:17:35 Thursday 参考 http://a3147972.blog.51cto.com/2366547/1381136 (08-05ThinkPHP+sw ...
- 微信jssdk,实现多图上传的一点心得
一.首先在common.js里封装一个函数,在需要调用jsSDK的页面引用此方法即可实现微信的信息配置function signatureJSSDK() { var url = window.loca ...
- JS案例之4——Ajax多图上传
近期项目中有好几次用到多图上传,第一次在项目中真正用到Ajax技术,稍微整理了下,贴个案例出来. 我们传统的做法是当用户提交一个表单时,就向web服务器端发送一个请求.服务器接受并处理传来的表单信息, ...
- 微信企业号办公系统-JSSDK上传图片(多图上传)
在开发微信企业号办公系统中,涉及到了图片上传功能,一开始使用的flash插件上传方法,在苹果手机上可以调用相机直接拍摄照片,但在安卓手机上只能选择照片. 微信jssdk-api带有一套完整的调用选择本 ...
随机推荐
- 解析令人费解的java泛型
对于我们java中的泛型,可能很多人知道怎么使用并且使用的还不错,但是我认为想要恰到好处的使用泛型,还是需要深入的了解一下它的各种概念和内部原理.本文将尽可能的囊括java泛型中的重要的概念.主要内容 ...
- JAVA对特殊的字符串进行html编码
SourceURL:about:blank /** * Created by Administrator on 2016/9/22. */public class HtmlEncode { publi ...
- MongoDB【第一篇】安装
第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. MongoDB 版本 mongodb-linux-x86_64-rhel70-3.4.2 3. 设置 ...
- Android Monkey压力测试介绍
monkey:通过Monkey程序模拟用户触摸屏幕.滑动Trackball. 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常. Monkey的构架 Monkey的参数 Monke ...
- 每天一个linux命令(37)--iostat命令
Linux 系统中的iostat是I/O statistics (输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...
- perl 之eval
eval是个表达式,语句末尾有一个分号, 发现在它的监视范围内出现致命错误,会立即停止运行整个块,退出后继续运行其 余的代码 eval的返回值就是语句块最后一条表达式的执行结果 eval非正常 ...
- 构建Docker平台【第三篇】安装 kubernetes 组件
第一步:准备 1. 安装包: kubeadm-1.6.0-0.alpha.0.2074.a092d8e0f95f52.x86_64.rpm kubernetes-cni-0.3.0.1-0.07a8a ...
- Bootstrap学习-排版
1.标题 <h1>~<h6>,所有标题的行高都是1.1(也就是font-size的1.1倍). 2.副标题 <small>,行高都是1,灰色(#999) <h ...
- Mac上关于shell使用Python3和C++11声明
1.使用Python3 Mac上的shell上自带的Python版本是2.7,当需要使用Python3时,下载安装好Python时,在shell上敲入Python发现却还是显示Python2.7,这是 ...
- wemall app商城源码机器人检测
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...