辛星和您用更簡(jiǎn)略的方式去實(shí)現(xiàn)PHP中的驗(yàn)證碼
Jun 13, 2016 pm 12:03 PM
辛星和您用更簡(jiǎn)單的方式去實(shí)現(xiàn)PHP中的驗(yàn)證碼
? ? ? ?說(shuō)實(shí)話,提到驗(yàn)證碼我想大家都不會(huì)陌生,確實(shí),驗(yàn)證碼還是挺常見(jiàn)的,現(xiàn)在搜索一下PHP的驗(yàn)證碼類簡(jiǎn)直是海量的數(shù)據(jù),那我們今天就來(lái)實(shí)現(xiàn)一個(gè)自己的驗(yàn)證碼把,不過(guò)它比較簡(jiǎn)單,這也是我說(shuō)的用更簡(jiǎn)單的方式去實(shí)現(xiàn)一個(gè)驗(yàn)證碼。
? ? ? ?總的來(lái)說(shuō)分成兩步,第一步就是先實(shí)現(xiàn)一個(gè)驗(yàn)證碼,第二步就是通過(guò)這個(gè)驗(yàn)證碼來(lái)進(jìn)行驗(yàn)證,我們先看一下如何去實(shí)現(xiàn)這個(gè)驗(yàn)證碼,當(dāng)然這里需要用到gd庫(kù)的知識(shí),請(qǐng)看下面的代碼示例:
<?php //首先要開(kāi)啟sessionsession_start();//說(shuō)明這是一張圖片header("Content-type:image/png");//用來(lái)動(dòng)態(tài)生成的數(shù)字和字母組合$str = "3,4,5,6,7,8,9,a,b,c,d,e,f,g";//轉(zhuǎn)化為數(shù)組$list = explode(",",$str);//得到該數(shù)組的下標(biāo)的最大值$max = count($list) - 1;//用于表示該驗(yàn)證碼$verify = "";//生成驗(yàn)證碼字符串for($i = 0; $i <5;$i ++){ $rand = mt_rand(0,$max); $verify .= $list[$rand];}//寫(xiě)入session$_SESSION['code'] = $verify;//生成一個(gè)58x28的圖片$im = imagecreate(58,28);//產(chǎn)生黑色$black = imagecolorallocate($im,0,0,0);//產(chǎn)生白色$white = imagecolorallocate($im,255,255,255);//先用白色背景把圖片刷成白色imagefill($im,0,0,$white);//然后把字符串寫(xiě)到圖片上去imagestring($im,5,10,8,$verify,$black);//生成png圖片,并且顯示到屏幕上imagepng($im);//銷毀該圖片imagedestroy($im);
? ? ? 這里順便說(shuō)一下畫(huà)圖的基本步驟把:首先創(chuàng)建一個(gè)圖像,我們用imagecreate函數(shù),然后用imagecolorallocate來(lái)調(diào)色,然后用各種imagexxx來(lái)繪制圖像,最后用imagexxx來(lái)生成各種樣式的圖片,最后imagedestroy來(lái)銷毀圖片,大致都是這么一個(gè)流程。其中我感覺(jué)比較值得一提的是imagestring的參數(shù),第一個(gè)表示繪畫(huà)的圖片這個(gè)沒(méi)的說(shuō),第二額參數(shù)表示的是字體,如果為0,1,2,3,4,5則表示內(nèi)置字體,第三個(gè)參數(shù)表示繪畫(huà)的左上角的x坐標(biāo),第四個(gè)表示繪畫(huà)的左上角的y坐標(biāo),第五個(gè)參數(shù)是顏色,我們這里采用了黑色來(lái)繪圖。
來(lái)看一下我們生成的圖片是什么樣子的把:
那么我們?cè)趺词褂迷擈?yàn)證碼呢?既然文件都寫(xiě)好了,那么我們?cè)賹?xiě)一個(gè)文件來(lái)導(dǎo)入該驗(yàn)證碼就可以了,然后從session里面來(lái)得到它的值,看如下代碼:
? ?這里使用了部分Javascript,如果讀者不熟悉Javascript,那么大可以跳過(guò)去,下面是運(yùn)行效果截圖:
看,當(dāng)然,真正的工程要復(fù)雜的多,這里給出的是一個(gè)示例程序,希望我們一同進(jìn)步。。
- 1樓u013420395昨天 07:24
- 唉

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











Windows 11? ???? ??? ???? ??? ??????. ???? ?????? ?? ? ???? ?? ??? ?? ??? ????? ??? ? ????. ? ?????? Windows ?? ???? ??? ???? ???? ??? ??? ? ??? ?? ??? ??? ?????. ? ??? ??? ???? ??? ?????? +? ?? ?? ?? ???. Windows?? ???? ???? ?? ??? ?????. ?? ?? ? ??? ?? ? 11" Width="643" Height="500" > ?? ??? ? ? ???? ?? ?? ?? ??? ?? ?? ?? ???? ?????. ?? ?? ? ?? ???? ?? ??? ????? ?? ??? ?? ???? ?? ??? ????? ?? ??? ?? ???? ?? ??? ???.

??? ??? "??? ???? PIN ??? ?????"?? ???? ?????. ?? ?? ??? ??? ? ?? ?? ?? ?? ??? ???? ????? PIN ?? ??? ??? ?? ?????. ??? ?? ??? ???? Windows? ???? ?? ?????? ?? ???? ???? ????. ?? ?? ?? ????. ??? ??? ???? ???? ?? ??? ???? ?????. ???? Windows 11?? PIN? ????? ???? ??? ?????? ??? ??? ??? ???? ?? ? ???? ?? ???? ?? ?? ?? ?????. ??? ????? ???? ??? ? ? ????! ?? ?? ??? ?? ?? ???? ??? ????? ?? ?? ??? ??? ? ????. ?? ??

????? Windows 11? ?? ??? ??? ??? ???/?? ??? ?? ????. ??? ??? ???? ??? ? ????. ? ?????? ?? ???? ???? ??? ????? ????? ????? ??? ? ?? ??? ?? ??? ??? ?????. ?? ?? ??? ?? ?? ??? ??? ??? ? ????? ?, ?? ?? ???? ?? ?? ?? ??? ??? ????? ????? ???? ???? ??? ?? ?? ??? ??? ??? ? ????. ??? ??? ????? ?? ???? ?????. Windows 11?? ?? ??? ??? ???? ??? ?????? 1. ?? ?? ???? +? ?? ?? ?? ???. Windows"?? ??"?? ??? ??

?? ??? ???? ???? ?? ??? ??? ???? ??? ???? ? ?? ????. ? ?? ?? ??? ?? ???? ????? ???? ??? ??? ?? ? ? ??? ?? ????. ? ?? ??? ? ?? ??? ???? ????? ????. ??? ??? ???? ?? ? ?? ??? ?? ??? ?????? ??? ????????. ??? ???? ??? ?? ??? ? ?? ?? ??? ??? ?? ???? ? ????. Windows 11?? ?? ??? ??? ?? ??? ????? ??? ?????? 1. ?? ?? ???? ?? ??? ??? ?????. Windows??? ???? ???? ??? ?????. ?? ??? ??? ?????. ?? ??? ???? ?? ???? ??? ?????. "?? ??"? ?????.

Windows Installer ???? "OOBELANGUAGE" ?? ?? "??? ??????."? ?????? ??? ??? ?? Windows ??? ???? ??? ????. OOBE? ?? ?? ??? ??? ?????. ?? ????? ? ? ??? ?? OOBE ?? ??? ??? ?????. ??? ??? ????. OOBE ?? ???? ?????? ???? ? ??? ??? ? ????. ?? ?? – 1. OOBE ? ??? ?? “?? ??” ??? ?????. ??? ? ??? ?? ?? ????? ?????. 2. ?? ??? ???? ???? ?? ?????. ???? ?? ??? ? OOBE? ????? ???. 3. ????? ??? ??? ????. ???? ???? OOBE? ?? ??? ?????.

?? ??? ?? ??? ??? ??? ? ???? ????, ?? ??? ??? ? ? ?? ?????. ?? ??? ???, ???? ???, ???? ?? ????? ?? ? ??? ???. ??? ??? ?? ?? ??? ??? ? ???, ?? ??? UI ??? ??? Windows 11??? ?? ?????. ??? ???? ? ??? ?? ?? Windows 11?? ??? ???? ?? ??? ??? ????. Windows 11?? ??? ???? ?? [10?? ??] ?? ??? ???? ?? ??? ???? Windows 11?? ??? ??? ? ????. ???? ?? ???? ???? ???? ???? ???? ?????. ????. ?? 1: ?? ?? ?? ?? ??? ???? ? ????.

Windows 11? ????? ?? ??? ???? ?? ??? ?? ?? ???? ??? ????. ? ???? ???? ??? ??, ?? ???? ???? ??? ????. ??? ??? ?? ??? ????? ??? ??? ?????. ??? ?? ?? ???? ???? ??? ?? ??? ?? ? ???? ???? ? ???? ??? ??? ??? ????? ?? ??? ???? ??? ??? ???. Custom Zoom? ??: ??? ???? ?? ??? ????? ??? ?????. ? ?? ???? ? ?? ?? ? ? ??? ?????. ?? ??? ? ?? ?????? ???? ??? ?? ?? ???? ??? ? ????. ??? ????? ??? ????? ? ??? ? ? ????. ?? ?? ??? ??? ? ????? ??? ? ????. ??? 11? ???? ??

Windows? ?? ?? ?????? ??? ? ?? ?? 0xc004f069? ??? ?? ???? ???? ??? ????. ??? ????? ????? ?????? Windows Server? ???? ?? ?? ????? ? ??? ??? ? ????. ??? ?? ??? ???? ??? ???? ??? ?? ??? ?? ?? ???? ???? ??? ??????. ?? ?? - ?? ???? ??? ?? ????. ?? ?? ???? ?? ??????. Windows ?? ?? ????? ???? ?? ?????. ?? 1 – ????? ??? cmd ????? Windows Server Edition ???? ??????. 1?? – Windows Server ?? ?? ?? ???? ?? W ??? ???? ???.
