tp5文件上传实现缩略图+水印的功能(参考)
public function AddNews(){
$data = Request::instance()->param();
//接收文件
$file = request()->file('img');
//上传
$info = $file->move(ROOT_PATH . 'public' . DS . 'static' . DS . 'uploads');
if($info){
//获取文件名字
$path = $info->getSaveName();
//拼接一下图片绝对路径
$last_path = ROOT_PATH . 'public' . DS . 'static' . DS . 'uploads'.DS.$path;
}else{
$path = null;
$last_path = null;
}
if($last_path){
//打开原图
$image = \think\Image::open($last_path);
//生成缩略图
$thumb_path = rand().'.jpg';
$image->thumb(10, 10)->save(ROOT_PATH . 'public' . DS . 'static' . DS .'thumb'.DS.$thumb_path);
}
if($last_path){
//打开图片
$image = \think\Image::open($last_path);
//生成水印
$water_path = ROOT_PATH . 'public' . DS . 'static' . DS .'waters'.DS.rand().'.jpg';
$image->text('刘桂池',ROOT_PATH . 'public' . DS .'ttf'.DS.'fangzheng.ttf',20,'#00000')->save($water_path);
}
//拼接数据入库
$arr['title'] = $data['title'];
$arr['t_name'] = $data['t_name'];
$arr['img'] = $path;
$arr['content'] = $data['news_content'];
$arr['thumb'] = empty($thumb_path)? null : $thumb_path;
if(Db::table('d13')->insert($arr)){
echo "成功";
}else{
echo "失败";
}
}
tp5文件上传实现缩略图+水印的功能(参考)的更多相关文章
- webform文件上传、图片水印、验证码
文件上传: 所用控件:FileUpload 使用时的思路: 1.判断用户是否选中了文件 FileUpload.FileName获取选中的文件名,判断长度,如果长度大于零就代表已经选择了文件 JS端:通 ...
- tp5文件上传
//tp5上传文件先 use think\File; //上传文件处理 $file = request()->file('file'); // 获取表单提交过来的文件 $error = $_FI ...
- Spring中MultipartHttpServletRequest实现文件上传 生成缩略图
转贴自:http://my.oschina.net/nyniuch/blog/185266 实现图片上传 用户必须能够上传图片,因此需要文件上传的功能.比较常见的文件上传组件有Commons Fil ...
- ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)
验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginCont ...
- 基于cxf的app文件上传接口(带回显功能)
1.SaleImpl @Override public String uploadPic(final List<Attachment> attachments) { return this ...
- tp5文件上传展示
//接收文件 $file = request()->file('image'); //将文件移动到框架应用根目录/public/uploads/ 目录下 $info = $file->mo ...
- javascript实现文件上传之前的预览功能
1.首先要给上传文件表单控件和图片控件设置name属性 <div class="form-group"> <label fo ...
- (实用篇)php处理单文件、多文件上传代码分享
php处理 单文件.多文件上传实例代码,供大家参考,具体内容如下 后台处理文件submit_form_process.php <?php /************************** ...
- Struts的文件上传下载
Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...
随机推荐
- js instanceof 解析
js中的instanceof运算符 概述 instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上 语法 obj instanceofOb ...
- Nginx 路由转发配置(转)
Nginx 路由转发配置笔记 由于预算有限,只有一台服务器,想要玩的东西不少,所以这个台服务器上会提供多重服务,因此涉及到的nginx转发就必有重要了 由nginx做请求代理,提供多种服务 php搭建 ...
- VC 模拟键盘输入
转载请注明来源:https://www.cnblogs.com/hookjc/ vc模拟键盘输入keybd_event(VK_LWIN, 0, 0 ,0);keybd_event('M', 0, 0 ...
- Android 高德地图使用小记
感谢大佬:https://www.cnblogs.com/devilmaycry812839668/p/8727569.html 高德地图 Android编程中 如何设置使 标记 marker 能够被 ...
- Python属性描述符
实现了__get__.set.__delete__中任意一个方法的类,称之为属性描述符. 属性描述符可以控制属性操作时的一些行为. 只要具有__get__方法的类就是描述符类. 如果一个类中具有__g ...
- Windows 7 Ubuntu 修改系统启动加载项
由于现在硬盘越来越大,越来越廉价.所以越来越多的很为了方便工作学习,在一台物理机上安装多个操作系统. 下面我们就来介绍安装多个操作系统后,每次开机后,到底默认引导哪个系统,由谁说的算? 由引导项说的算 ...
- shell——trap捕捉信号(附信号表)
trap捕捉信号有三种形式 第一种:trap "commands" signal-list 当脚本收到signal-list清单内列出的信号时,trap命令执行双引号中的命令. 例 ...
- 【CF632F】Magic Matrix(生成树 脑洞)
题目链接 大意 给定一个\(N\times N\)的矩阵,问是否满足以下三个条件: \(A_{i,i}=0\) \(A_{i,j}=A_{j,i}\) 对于任意的\(i,j,k\),满足\(A_{i, ...
- Docker 中的问题:”invalid reference format: repository name must be lowercase”
在导入镜像的时候出现问题:invalid reference format: repository name must be lowercase 问题解决:镜像命名不能出现大写字母,将大写改为小写即可 ...
- ajax请求egg用nginx转发跨域问题
火狐浏览器报的 谷歌浏览器报的 前提: npm i egg-cors --save config 文件下的pulgin.js 已经添加 //启用跨域支持 exports.cors = { enable ...