tp3.2水印上传文件
《html》
<html lang="en">
<head>
<meta charset="UTF-8">
<title>相册添加</title>
</head>
<body>
<center>
<!--U方法 : {:U('控制器名/方法名')}-->
<form action="{:U('Indexdo/add_do')}" method="post" enctype="multipart/form-data">
<table border="1">
<tr>
<td>相册名称</td>
<td><input type="text" name="photo_name"></td>
</tr>
<tr>
<td>相册简介</td>
<td>
<textarea name="photo_desc" id="" cols="30" rows="10">
</textarea>
</td>
</tr>
<tr>
<td>相册封面</td>
<td><input type="file" name="img"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="创建相册">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
《控制器》
//添加数据入库
public function add_do(){
$photo = D('Photo');
$data['photo_name'] = I("post.photo_name");
$data['photo_desc'] =I("post.photo_desc");
$file = $_FILES['img'];
$img_info = $this->upload($file);
$img = $this->water($img_info);
$data['photo_img'] = $img;
$data['create_time'] = date("Y-m-d H:i:s",time());
$rest = $photo->add($data);
if($rest){
$this->success('添加成功',U('Indexdo/show'),3);
}else{
$this->error('添加失败');
}
}
//控制器里文件的上传
public function upload(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->savePath = './Public/Uploads/'; // 设置附件上传目录
$upload->rootPath = './';
// 上传文件
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功
return $info;
}
}
//将上面的文件上传方法经过水印方法加工
public function water($img_info){
$img = $img_info['img']['savepath'].$img_info['img']['savename'];
$image = new \Think\Image();
// 在图片右下角添加水印文字 ThinkPHP 并保存为new.jpg
$water_img = $img_info['img']['savepath'].'water_'.$img_info['img']['savename'];
$image->open($img)->text('ThinkPHP','./1.ttf',20,'#000000',\Think\Image::IMAGE_WATER_SOUTHEAST)->save($water_img);
return $water_img;
}
tp3.2水印上传文件的更多相关文章
- TP3.2批量上传文件(图片),解决同名冲突问题
1.html <form action="{:U('Upload/index')}" enctype="multipart/form-data" meth ...
- tp3.2 上传文件及下载文件
公共方法 UploadFile.class.php() // 开始 , , , ,];];,; ;; ::::::;,) {//文件上传失败 //捕获错误代码$this->error($file ...
- 上传文件 file upload 学习笔记
这里我只会说说一些完成 file upload 的基础 API. 很多项目我们需要上传文件. 有简单的 input file, 有需要验证的,有需要压缩的(img),有需要分段的(video),有需要 ...
- PHP开发-上传文件
<?php /****************************************************************************** 参数说明: $max_ ...
- 【.NET】上传文件,生成缩略图
类名:Upload using System; using System.Collections; using System.ComponentModel; using System.Data; us ...
- IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...
- 三种上传文件不刷新页面的方法讨论:iframe/FormData/FileReader
发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"up ...
- asp.net mvc 上传文件
转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...
- app端上传文件至服务器后台,web端上传文件存储到服务器
1.android前端发送服务器请求 在spring-mvc.xml 将过滤屏蔽(如果不屏蔽 ,文件流为空) <!-- <bean id="multipartResolver&q ...
随机推荐
- curl抓取网页内容php
1.cURL curl是客户端向服务器请求资源的工具 2.cURL使用场景 网页资源:网页爬虫 webservice数据接口资源:动态获取接口数据 天气 号码归属地 ftp资源:下载ftp服务器里面 ...
- Hystrix线程隔离技术解析-线程池(转)
认识Hystrix Hystrix是Netflix开源的一款容错框架,包含常用的容错方法:线程隔离.信号量隔离.降级策略.熔断技术. 在高并发访问下,系统所依赖的服务的稳定性对系统的影响非常大,依赖有 ...
- kuangbin专题七 HDU1540 Tunnel Warfare (前缀后缀线段树)
During the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast a ...
- 执行umount 的时候却提示:device is busy 的处理方法
[root@web2-server yum.repos.d]# umount /mnt/cdrom/ umount: /mnt/cdrom: device is busy. (In some case ...
- java nio 之MappedByteBuffer
其实掌握MappedByteBuffer并不难,只要记住"三方三法三特性"(我自己总结的,呵呵~~不要扔鸡蛋哦...)这句话就可以轻松搞定!MappedByteBuffer 只是一 ...
- python 编程基础-字典类型和方法(课后习题)
#创建一个字典 dic = {'k1':'v1','k2':'v2','k3':'v3'} #1.请循环遍历出所有的KEY for k in dic: print(k) #2请循环遍历出所有的valu ...
- java/Android String.split 字符串分割
特殊符号分割时需加[].如下图
- 利用Content-disposition实现无刷新下载图片文件
今天在使用 tinypng.com 这个在线压缩图片的网站时,对其处理完图片后,可以无刷新下载图片感到好奇,于是了解了一下相关实现.无刷新下载可以利用MIME type或者设置Content-disp ...
- eclipse+pydev 安装和配置过程
安装 PyDev 在安装 PyDev 之前,要保证您已经安装了 Java 1.4 或更高版本.Eclipse 以及 Python.接下来,开始安装 PyDev 插件. 启动 Eclipse,利用 Ec ...
- 分治法 - Divide and Conquer
在计算机科学中,分治法是一种很重要的算法.分治法即『分而治之』,把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的 ...