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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
php cookis创建实现代码
Mar 16 PHP
php中用数组的方法设置cookies
Apr 21 PHP
检查php文件中是否含有bom的函数
May 31 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
深入PHP autoload机制的详解
Jun 09 PHP
PHP生成plist数据的方法
Jun 16 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 PHP
php中上传文件的的解决方案
Sep 25 PHP
laravel框架与其他框架的详细对比
Oct 23 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
vue组件name的作用小结
2018/05/23 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
python删除列表内容
2015/08/04 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
softmax及python实现过程解析
2019/09/30 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
大学生村官工作感言
2014/01/10 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
学习标兵获奖感言
2014/02/20 职场文书
安全生产责任书
2014/03/12 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
庆六一开幕词
2015/01/29 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
论文致谢词范文
2015/05/14 职场文书
初中历史教学反思
2016/02/19 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript