ThinkPHP实现带验证码的文件上传功能实例


Posted in PHP onNovember 01, 2014

本文实例讲述了ThinkPHP实现带验证码的文件上传功能。分享给大家供大家参考。具体实现方法如下:

ThinkPHP上传文件非常的简单我们只要调用一个文件上传类UploadFile就可以快速的实现上传功能了,下面我来给大家整理了一个上传文件时需要验证功能的例子,希望文章对大家会带来帮助。

在模板中我们只需要调用就可以了

<html>

<head>

<title>验证码</title>

</head>

<body>

<formaction='__URL__/login'method='post'enctype="multipart/form-data">

文件上传:<inputtype='file'name='imgage'><br/>

验证码:<inputtype='text'name='verify'>

<imgsrc='__URL__/verify'onclick='change()'id='verify'/><br/>

<inputtype='submit'value='提交'>

</form>

</body>

</html>

php处理文件
<?php

classIndexActionextendsAction{

/*验证码*/

publicfunctionverify(){

$type=isset($_GET['type'])?$_GET['type']:'gif';//如果不设置验证码的图片格式,默认为gif格式

import("@.ORG.Image");//导入图片出来类

Image::buildImageVerify(4,1,$type);//设置验证码有几位,是数字,还是字母

}

/*文件上传*/

publicfunctionupload(){

if(!empty($file))

import('@.ORG.UploadFile');//导入文件上传类

$file=newUploadFile();//实例化UploadFile类

//我们可以设置文件上传的一些属性

$file->maxSize=1000000;//设置上传图片大小

$file->allowExtes=expload(',','jpg,jpeg,png,gif');//设置文件上传格式

$file->savePath='/Tpl/default/Public/Uploads/';//设置图片存放位置

$file->thumb='true';//是否设置为缩略图

$file->thumbPrefix='s_';//设置缩略图的前缀

$file->thumbMaxWidth='400,100';//设置图片的最大宽度

$file->thumbMaxHeight='400,100';//设置图片的最大高度

if($file->upload){

$list=$file->getUploadFileInof();//获取文件上传信息

import('@.ORG.Image');

//给图片添加水印

Image::water($list[0]['savepath'].'s_'.$list[0]['savename'],'File/Tpl/defalut/Public/Images/logo.jpg');

}else{

$this->error($file->getErrorMsg());

}

$Model=M('Photo');

$data['image']=$_POST['image'];

$data['create_time']=time();

$vo=$Model->add($data);

if($vo!==false){

$this->success("图片上传成功!");

}else{

$this->error("图片上传失败");

}

}

}

简单的分析一下例子
import('@.ORG.UploadFile');//导入文件上传类

$file=newUploadFile();//实例化UploadFile类

这个就是直接调用了thinkphp文件处理类了,我们不需要作任何操作了。
在上传过程中与其它的类会有一些区别了
$Model=M('Photo');

$data['image']=$_POST['image'];

$data['create_time']=time();

$vo=$Model->add($data);

这个$_POST['image']就是获取我们html file的名字了,这个可以是数组那就是多文件上传了。

希望本文所述对大家的ThinkPHP程序设计有所帮助。

PHP 相关文章推荐
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
PHP邮件发送类PHPMailer用法实例详解
Sep 22 PHP
codeigniter显示所有脚本执行时间的方法
Mar 21 PHP
Smarty使用自定义资源的方法
Aug 08 PHP
php简单的上传类分享
May 15 PHP
PHP入门教程之图像处理技巧分析
Sep 11 PHP
PHP实现动态创建XML文档的方法
Mar 30 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
Oct 08 PHP
tp5递归 无限级分类详解
Oct 18 PHP
PHP之header函数详解
Mar 02 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 #PHP
ThinkPHP查询语句与关联查询用法实例
Nov 01 #PHP
ThinkPHP分组下自定义标签库实例
Nov 01 #PHP
PHP根据两点间的经纬度计算距离
Oct 31 #PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 #PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 #PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 #PHP
You might like
php程序内部post数据的方法
2015/03/31 PHP
php动态绑定变量的用法
2015/06/16 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
python调用cmd命令行制作刷博器
2014/01/13 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python实现二维插值的三维显示
2018/12/17 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
wxPython实现画图板
2020/08/27 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
国家励志奖学金获奖感言
2014/01/09 职场文书
晚宴邀请函范文
2014/01/15 职场文书
教师对学生的寄语
2014/04/03 职场文书
圣诞节开幕词
2015/01/29 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS