ThinkPHP 实现带验证码的文件上传功能实例_php 实例
这篇文章主要介绍了 ThinkPHP 实现带验证码的文件上传功能, 实例相关类的导入与调用步骤, 是非常实用的技巧, 需要的朋友可以参考下
本文实例讲述了 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 的名字了, 这个可以是数组那就是多文件上传了
来源: https://www.php1.cn/detail/php-ad4ccbcf06.html