国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

php結合GD庫實現中文驗證碼的簡單方法

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

上一次寫了一個常見的驗證碼,現在玩一下中文的驗證碼,順便升級一下寫的代碼

流程基本差不多

先看GD庫開啟了沒 生成中文5位驗證碼 開始畫圖 畫干擾素 生成圖形 完事生成中文驗證碼

//小小心機$hanzi= '如果覺得寫得還可以的話互相關注報團取暖交流經驗來自合肥的小碼農巴拉啊鵬哦溜要了嗎不能把唄日無一人說的回復看介紹請問惹銳歐尼之額心想城型從不錯框架鋁合金';//獲取中文字符的最大索引號$c = mb_strlen($hanzi)-1;//var_dump($c);for($i = 0;$i < 5;$i++){//獲取起始點 $start = rand(0,$c); //循環(huán)取出一個漢字 $code.= mb_substr($hanzi,$start,1);}

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

php結合GD庫實現中文驗證碼的簡單方法

畫圖!

$img = imagecreate(120,30);$white = imagecolorallocate($img,255,255,255);$black = imagecolorallocate($img,0,0,0);//點干擾素for ($i = 0;$i< 200;$i++) {//這里的顏色我就用隨機產生的顏色了,之前是給定好了的 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++){//這里的顏色我就用隨機產生的顏色了,之前是給定好了的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';//獲取文本范圍,見下方圖$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;//起始點的$x$y=(imagesy($img)+$code_h)/2;//起始點的$y//向圖像寫入文本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這個是一個數組(可以print_r()看一看),數組中的每一項對應的其實是坐標,imagesx( $img ) 就是 image 所代表的圖像的寬度,這樣我想盡量讓漢字保持在圖片的居中位置,不然都跑偏了也看不見了

php結合GD庫實現中文驗證碼的簡單方法

生成驗證碼

php結合GD庫實現中文驗證碼的簡單方法

小例子

<?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 ’驗證成功’; //進行后續(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=''> <!-- 開始做簡單的驗證--> <img src='http://www.cgvv.com.cn/bcjs/index.php' onclick='this.src=’index.php?’+Math.random()' alt=''> <input type='submit' value='提交'></form></body></html>

php結合GD庫實現中文驗證碼的簡單方法

總結

到此這篇關于php結合GD庫實現中文驗證碼的簡單方法的文章就介紹到這了,更多相關php結合GD庫實現中文驗證碼內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: PHP
相關文章:
主站蜘蛛池模板: 久久久国产精品网站 | 成年人免费观看视频网站 | 国产在线综合视频 | 欧美一区二区在线播放 | 欧美一级特黄特色大片免费 | 久久精品视频99 | 免费永久观看美女视频网站网址 | 日韩三级一区二区 | 亚洲日本高清成人aⅴ片 | 黄网站在线播放视频免费观看 | 国内精品不卡一区二区三区 | 免费高清一级欧美片在线观看 | 99在线热视频只有精品免费 | 在线观看日本免费视频大片一区 | 国产午夜精品一区二区 | 国产激情一区二区三区成人91 | 国内精品免费一区二区观看 | 黄a在线观看| 一区二区成人国产精品 | 成 人 a v黄 色 | 九九久久精品国产 | 亚洲精品国产第一区二区三区 | 国产a一级毛片含羞草传媒 国产a自拍 | 91久久99热青草国产 | 最新欧美精品一区二区三区 | 日韩一区二区在线免费观看 | 一级美女视频 | 精品国产成人a区在线观看 精品国产成人a在线观看 | 国产高中生粉嫩无套第一次 | 91av小视频| 噜噜噜狠狠夜夜躁精品 | 国产区精品一区二区不卡中文 | 91啦丨国产丨 | 欧美一级高清片免费一级 | 欧美一级鲁丝片 | 99国产小视频 | 久久免费播放 | 香蕉久久一区二区不卡无毒影院 | 久久精品国产精品亚洲精品 | 中文字幕亚洲高清综合 | 亚洲精品亚洲人成毛片不卡 |