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 相关文章推荐
php你的验证码安全码?
Jan 02 PHP
Windows IIS PHP 5.2 安装与配置方法
Jun 08 PHP
php MYSQL 数据备份类
Jun 19 PHP
php中取得文件的后缀名?
Feb 20 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
Linux下安装PHP MSSQL扩展教程
Oct 24 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
May 11 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
Aug 17 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
用js实现trim()的解决办法
2013/04/16 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
python3下载抖音视频的完整代码
2019/06/05 Python
Python使用贪婪算法解决问题
2019/10/22 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
python中类与对象之间的关系详解
2020/12/16 Python
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
芬兰汽车配件商店:Autonvaraosat24
2017/01/30 全球购物
服装设计专业毕业生推荐信
2013/11/09 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
动员大会主持词
2014/03/20 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
保送生自荐信范文
2015/03/26 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
SQL Server内存机制浅探
2022/04/06 SQL Server
对讲机知识
2022/04/07 无线电