午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼的簡(jiǎn)單方法

瀏覽:219日期:2022-09-08 11:29:17
前言

上一次寫(xiě)了一個(gè)常見(jiàn)的驗(yàn)證碼,現(xiàn)在玩一下中文的驗(yàn)證碼,順便升級(jí)一下寫(xiě)的代碼

流程基本差不多

先看GD庫(kù)開(kāi)啟了沒(méi) 生成中文5位驗(yàn)證碼 開(kāi)始畫(huà)圖 畫(huà)干擾素 生成圖形 完事生成中文驗(yàn)證碼

//小小心機(jī)$hanzi= '如果覺(jué)得寫(xiě)得還可以的話互相關(guān)注報(bào)團(tuán)取暖交流經(jīng)驗(yàn)來(lái)自合肥的小碼農(nóng)巴拉啊鵬哦溜要了嗎不能把唄日無(wú)一人說(shuō)的回復(fù)看介紹請(qǐng)問(wèn)惹銳歐尼之額心想城型從不錯(cuò)框架鋁合金';//獲取中文字符的最大索引號(hào)$c = mb_strlen($hanzi)-1;//var_dump($c);for($i = 0;$i < 5;$i++){//獲取起始點(diǎn) $start = rand(0,$c); //循環(huán)取出一個(gè)漢字 $code.= mb_substr($hanzi,$start,1);}

可以很清晰看到一個(gè)中文占3個(gè)字節(jié)咯,UTF-8編碼格式下一個(gè)中文字符占3個(gè)字節(jié)

php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼的簡(jiǎn)單方法

畫(huà)圖!

$img = imagecreate(120,30);$white = imagecolorallocate($img,255,255,255);$black = imagecolorallocate($img,0,0,0);//點(diǎn)干擾素for ($i = 0;$i< 200;$i++) {//這里的顏色我就用隨機(jī)產(chǎn)生的顏色了,之前是給定好了的 imagesetpixel($img,rand(0,120),rand(0,30),imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255)));}//線干擾素for($i = 0;$i<20;$i++){//這里的顏色我就用隨機(jī)產(chǎn)生的顏色了,之前是給定好了的imageline($img,rand(0,120),rand(0,30),rand(0,120),rand(0,30),imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255)));}//像素字體大小$size = 16;//角度大小$fontfile = 'simhei.ttf';//獲取文本范圍,見(jiàn)下方圖$info=imagettfbbox($size,rand(0,5),$fontfile,$code);//echo ’<pre>’;//print_r($info);$code_w=$info[4]-$info[6];//字符串的寬度$code_h=$info[1]-$info[7];//字符串的高度//imagesx($img) image 所代表的圖像的寬度$x=(imagesx($img)-$code_w)/2;//起始點(diǎn)的$x$y=(imagesy($img)+$code_h)/2;//起始點(diǎn)的$y//向圖像寫(xiě)入文本imagettftext($img,$size,rand(0,5),$x,$y,imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255)),$fontfile,$code);//生成圖像imagejpeg($img);imagedestroy($img);

這里$info這個(gè)是一個(gè)數(shù)組(可以print_r()看一看),數(shù)組中的每一項(xiàng)對(duì)應(yīng)的其實(shí)是坐標(biāo),imagesx( $img ) 就是 image 所代表的圖像的寬度,這樣我想盡量讓漢字保持在圖片的居中位置,不然都跑偏了也看不見(jiàn)了

php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼的簡(jiǎn)單方法

生成驗(yàn)證碼

php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼的簡(jiǎn)單方法

小例子

<?phpsession_start();header('content-type:text/html;chartset:utf-8');echo ’<pre>’;var_dump($_SESSION);var_dump($_POST);echo ’</pre>’;if($_SESSION[’code’] == $_POST[’code’]){ echo ’驗(yàn)證成功’; //進(jìn)行后續(xù)操作balabala}?><!doctype html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title></head><body><form action='' method='post'> <input type='text' name='code' placeholder=''> <!-- 開(kāi)始做簡(jiǎn)單的驗(yàn)證--> <img src='http://www.leifengta.com.cn/bcjs/index.php' onclick='this.src=’index.php?’+Math.random()' alt=''> <input type='submit' value='提交'></form></body></html>

php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼的簡(jiǎn)單方法

總結(jié)

到此這篇關(guān)于php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼的簡(jiǎn)單方法的文章就介紹到這了,更多相關(guān)php結(jié)合GD庫(kù)實(shí)現(xiàn)中文驗(yàn)證碼內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 亚洲一级特黄 | 在线观看福利视频 | 欧美一区2区 | 亚洲国产毛片 | 中文字幕天堂在线 | 免费看成年人视频 | 综合中文字幕 | 操国产美女 | 综合久久久久 | 日本中出视频 | 日本大片在线播放 | 午夜视频免费在线观看 | 国产精品第一页在线观看 | 成人免费看片39 | 91成人在线播放 | 色视频在线 | 国产成人亚洲精品 | 都市激情自拍偷拍 | 日韩中文在线视频 | 波多野结衣国产 | 国产精品高潮呻吟久久av野狼 | 男女瑟瑟 | av在线超碰| 欧美做爰视频 | 日韩黄色网 | 黄色在线观看网址 | 国产性xxxx高清 | 亚洲午夜精品久久久 | 欧美蜜桃网 | 爱爱视频天天干 | 国产福利视频 | 欧美色噜噜 | 麻豆综合网| 看av网址 | 日韩三级视频在线 | 久久精品免费观看 | 日韩专区第一页 | 亚洲成人影院在线观看 | 可以在线观看的av | 在线播放国产一区 | 久草日韩|