溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)驗(yàn)證碼文件上傳功能

發(fā)布時(shí)間:2020-12-19 16:20:22 來源:億速云 閱讀:178 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹如何在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)驗(yàn)證碼文件上傳功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

ThinkPHP上傳文件非常的簡單我們只要調(diào)用一個(gè)文件上傳類UploadFile就可以快速的實(shí)現(xiàn)上傳功能了,下面我來給大家整理了一個(gè)上傳文件時(shí)需要驗(yàn)證功能的例子,希望文章對(duì)大家會(huì)帶來幫助。

在模板中我們只需要調(diào)用就可以了

復(fù)制代碼 代碼如下:

<html>
<head>
<title>驗(yàn)證碼</title>
</head>
<body>
<formaction='__URL__/login'method='post'enctype="multipart/form-data">
文件上傳:<inputtype='file'name='imgage'><br/>
驗(yàn)證碼:<inputtype='text'name='verify'>
<imgsrc='__URL__/verify'onclick='change()'id='verify'/><br/>
<inputtype='submit'value='提交'>
</form>
</body>
</html>


php處理文件

復(fù)制代碼 代碼如下:

<?php
classIndexActionextendsAction{
/*驗(yàn)證碼*/
publicfunctionverify(){
$type=isset($_GET['type'])?$_GET['type']:'gif';//如果不設(shè)置驗(yàn)證碼的圖片格式,默認(rèn)為gif格式
import("@.ORG.Image");//導(dǎo)入圖片出來類
Image::buildImageVerify(4,1,$type);//設(shè)置驗(yàn)證碼有幾位,是數(shù)字,還是字母
}
/*文件上傳*/
publicfunctionupload(){
if(!empty($file))
import('@.ORG.UploadFile');//導(dǎo)入文件上傳類
$file=newUploadFile();//實(shí)例化UploadFile類
//我們可以設(shè)置文件上傳的一些屬性
$file->maxSize=1000000;//設(shè)置上傳圖片大小
$file->allowExtes=expload(',','jpg,jpeg,png,gif');//設(shè)置文件上傳格式
$file->savePath='/Tpl/default/Public/Uploads/';//設(shè)置圖片存放位置
$file->thumb='true';//是否設(shè)置為縮略圖
$file->thumbPrefix='s_';//設(shè)置縮略圖的前綴
$file->thumbMaxWidth='400,100';//設(shè)置圖片的最大寬度
$file->thumbMaxHeight='400,100';//設(shè)置圖片的最大高度
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("圖片上傳失敗");
}
}
}


簡單的分析一下例子

復(fù)制代碼 代碼如下:

import('@.ORG.UploadFile');//導(dǎo)入文件上傳類
$file=newUploadFile();//實(shí)例化UploadFile類


這個(gè)就是直接調(diào)用了thinkphp文件處理類了,我們不需要作任何操作了。
在上傳過程中與其它的類會(huì)有一些區(qū)別了

復(fù)制代碼 代碼如下:

$Model=M('Photo');
$data['image']=$_POST['image'];
$data['create_time']=time();
$vo=$Model->add($data);


這個(gè)$_POST['image']就是獲取我們html file的名字了,這個(gè)可以是數(shù)組那就是多文件上傳了。

關(guān)于如何在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)驗(yàn)證碼文件上傳功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI