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 相关文章推荐
第十五节--Zend引擎的发展
Nov 16 PHP
php download.php实现代码 跳转到下载文件(response.redirect)
Aug 26 PHP
PHP输出缓存ob系列函数详解
Mar 11 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
ThinkPHP模板中数组循环实例
Oct 30 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
Yii2单元测试用法示例
Nov 12 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
如何让PHP编码更加好看利于阅读
May 12 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 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
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Python 通配符删除文件的实例
2018/04/24 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
班训口号大全
2014/06/18 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
团支部书记竞选稿
2015/11/21 职场文书
2016入党心得体会范文
2016/01/06 职场文书
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android