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 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
php skymvc 一款轻量、简单的php
Jun 28 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
php获取POST数据的三种方法实例详解
Dec 20 PHP
PHP实现数组和对象的相互转换操作示例
Mar 20 PHP
php+iframe 实现上传文件功能示例
Mar 04 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
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
Python实现的密码强度检测器示例
2017/08/23 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
Python实现购物车程序
2018/04/16 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
小学教师师德感言
2014/02/10 职场文书
超市重阳节活动方案
2014/02/10 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
优秀团员事迹材料
2014/12/25 职场文书
个人工作年终总结
2015/03/09 职场文书
公司员工体检通知
2015/04/21 职场文书
2015年共青团工作总结
2015/05/15 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
Python基础详解之描述符
2021/04/28 Python
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS