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 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
2014年最新推荐的10款 PHP 开发框架
Aug 01 PHP
php更新mysql后获取改变行数的方法
Dec 25 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
php实现源代码加密的方法
Jul 11 PHP
php htmlentities()函数的定义和用法
May 13 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 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
操作Oracle的php类
2006/10/09 PHP
无数据库的详细域名查询程序PHP版(1)
2006/10/09 PHP
php 404错误页面实现代码
2009/06/22 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
Python语言的面相对象编程方式初步学习
2016/03/12 Python
python requests 使用快速入门
2017/08/31 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
Python类的继承和多态代码详解
2017/12/27 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
解决Python二维数组赋值问题
2019/11/28 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
简单了解如何封装自己的Python包
2020/07/08 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
航空大学应届生求职信
2013/11/10 职场文书
小学教师管理制度
2014/01/18 职场文书
一体化教学实施方案
2014/05/10 职场文书
空气环保标语
2014/06/12 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS