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中如何在有限的内存中读取大文件
Jul 02 PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
twig模板常用语句实例小结
Feb 04 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
Swoole4.4协程抢占式调度器详解
May 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
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
php foreach如何跳出两层循环(详解)
2016/11/05 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
javascript 类方法定义还是有点区别
2009/04/15 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
Vue中对拿到的数据进行A-Z排序的实例
2018/09/25 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python获取文件ssdeep值的方法
2014/10/05 Python
Python入门篇之列表和元组
2014/10/17 Python
Python装饰器的函数式编程详解
2015/02/27 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
上班离岗检讨书
2014/09/10 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
党支部意见范文
2015/06/02 职场文书
爱的教育观后感
2015/06/17 职场文书
德劲DE1102数字调谐收音机机评
2022/04/07 无线电