本文实例讲述了ThinkPHP实现带验证码的文件上传功能。分享给大家供大家参考。具体实现方法如下:

ThinkPHP上传文件非常的简单我们只要调用一个文件上传类UploadFile就可以快速的实现上传功能了,下面我来给大家整理了一个上传文件时需要验证功能的例子,希望文章对大家会带来帮助。

在模板中我们只需要调用就可以了

验证码

文件上传:

验证码:

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程序设计有所帮助。

thinkphp 调用php文件上传,ThinkPHP实现带验证码的文件上传功能实例相关推荐

  1. php宝塔配置虚拟机报错404,宝塔面板配置的LAMP,上传thinkPHP,访问报错File not found,修改.htaccess则出现无法加载资源...

    本人菜鸟,用宝塔面板配置的LAMP,上传thinkPHP 3.2.3(代码在wamp中测试可用). 访问http://www.xxx.me/Home/Index/... 直接报错File not fo ...

  2. uedit修改文件上传路劲,支持api文件接口

    首先修改一个东西ueditor/ueditor.config.js serverUrl: URL + "php/controller.php" 原来serverUrl: " ...

  3. 上传问题总结(文件大小检测,大文件上传)

    PHP上传问题总结(文件大小检测,大文件上传) 由于涉及到本地和服务器两方面的安全问题,所以基于input type="file"形式的页面文件上传一直处于一个很尴尬的位置.一方面 ...

  4. java web 断点上传_使用WebUploader实现分片断点上传文件功能(二)

    写在前面: 这几天,有去研究一下WebUploader上传文件,前面的博客有记录下使用WebUploader简单上传文件的例子,今天就把分片断点上传的例子也记录下吧,在博客园中,也查看了一些资料,基本 ...

  5. ajaxfileupload 监听上传进度_一篇文章学会文件上传

    文件上传 文件上传原理 文件上传的原理,就是DOM中的FileUpload对象.就是这句 <input type="file"> 但仅仅这样并不足够. 文件上传本质上是 ...

  6. 文件上传、下载、导出(图片上传、下载)

    一.文件上传 1.常规文件上传 input 标签 type="file", 点击接收上传的文件 <label for="file_url">< ...

  7. 文件上传在Struts的Action检测文件类型

    在页面有文件上传的表单.(只能上传jpg/png文件) 检测根据文件的文件头(不是后缀名)判断文件类型 一.Struts2文件上传  实现规则: (1)在JSP中设定表单控件<s:file na ...

  8. 创建文件、文件上传下载、发送邮件附件以及文件点击预览功能(超详细注解)

    根据模板生成文件 @Overridepublic File exportStuFileExcelNew(Studengt student, Page<StuFile> page)throw ...

  9. Laravel学习笔记4,文件上传,分页,验证码,数据表和迁移

    目录 一.文件上传 二.数据分页 三.验证码 Return Image Return URL Return HTML 六.响应处理 一.文件上传 在laravel, 里面实现文件的上传是很简单的,压根 ...

最新文章

  1. 字符串静态顺序结构C/C++实现(数据结构严蔚敏版)
  2. 运行时间_一种简单、实用的测量程序运行时间的方法
  3. 示例:工具提示对象---享元模式应用
  4. 新建sublime 的python代码文件时自动在头部增加几行常用代码
  5. 来谈谈JAVA面向对象 - 鲁班即将五杀,大乔送他回家??
  6. python一个函数调用另一个函数的返回值_在python函数中使用True,False和None作为返回值...
  7. 【飞鸽传书3.0】飞鸽传书3.0关键字布局
  8. [ARM] [linux master] 调试技术002 在linux下面使用mtrace来检查一般程序的内存溢出
  9. 计算机网络---HTTP状态码
  10. 后宫宛如传服务器维护,后宫宛如传完整版
  11. python函数中文手册-python函数手册
  12. 7天快速掌握MySQL-DAY5
  13. 把Excel里的折线图另存为图片
  14. linux移动到回收站快捷键,linux中使用rm命令将文件移到回收站的方法
  15. 程序员情人节防止割韭菜
  16. Google APIs 学习/使用
  17. 开发质量问题复盘总结-pua性质的标题
  18. ASCII 字母字符 63———127
  19. SpringCloud-config分布式配置中心
  20. 逗号分隔 整形 数字 输入 读取方法 C++

热门文章

  1. 点云python-pcl
  2. 【精华】【经典】自动化循环操作方法当前网页方法,可以用于本地化AI智能自动抓取网页资源信息,类似爬虫功能
  3. DOM+XPath提取规则注记!
  4. 游戏设计行业标准测试:秘密收集
  5. Control Channel Element (CCE)
  6. Linux 下 进程运行时内部函数耗时的统计 工具:pstack,strace,perf trace,systemtap
  7. SHELL 技能树(持续更新)
  8. linux 文件查找命令集:find,locate,wheres,which,type
  9. 一个在raw里面放着数据库文件的网上例子
  10. ORACLE 数据的逻辑组成