本文章利用三個文件來簡單的講了一下關于php中怎么去應用中文驗證碼,中文因為是漢字可能出現亂碼所以我們就定義了一個文件來專門處理,有需要的朋友可以參考下.
php中文漢字驗證碼程序代碼如下:
- <?php
- /*
- * 文件:chinesechar.php
- * 作用:漢字數據儲存
- */
- $ChineseChar = array("人","出","來","友","學","孝","仁","義","禮","廉","忠","國","中","易","白","者","火 ","土","金","木","雷","風","龍","虎","天","地", "生","暈","菜","鳥","田","三","百","錢","福 ","愛","情","獸","蟲","魚","九","網","新","度","哎","唉","啊","哦","儀","老","少","日", "月 ","星");
- ?>
- <?php
- /*
- * 文件:check.php
- * 作用:驗證
- */
- session_start();
- $errorMSG = '';
- //驗證用戶輸入是否和驗證碼一致
- if(!is_null($_POST['check']))
- {
- if (strcasecmp($_SESSION['code'],$_POST['code'])==0)
- $errorMSG = "<p style="font-size:12px;color:#009900">驗證成功!</p>";
- else
- $errorMSG = "<p style="font-size:12px;color:#FF0000">驗證失敗!</p>";
- }
- ?>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- </head>
- <body>
- <?php
- if($errorMSG){
- echo $errorMSG;
- }
- ?>
- <form action=<?php echo $_SERVER['PHP_SELF']?> method=post>
- 請輸入驗證碼:<input type="text" name="code" style="width:
- 80px"><img src="code.php">
- <br>
- <input type="submit" name="check" value="提交驗證碼">
- </form>
- </body>
- </html>
- <?php
- /*
- * 文件:code.php
- * 作用:驗證碼生成
- * 特注:由 沒牙的草 指導 版權所有轉載注明出處!有付出才會有收獲!
- */
- include_once("chinesechar.php");
- session_start();
- // 設置 content-type
- header("Content-type: image/png");
- // 創建圖片
- $im = imagecreatetruecolor(120, 30);
- // 創建顏色
- $fontcolor = imagecolorallocate($im, 255, 255, 255);
- $bg = imagecolorallocate($im, 0, 0, 0);
- // 設置文字
- for($i=0;$i<4;$i++) $text .= $ChineseChar[(array_rand($ChineseChar))];
- $_SESSION['code'] = $text;
- // 設置字體
- $font = 'simkai.ttf';
- //開源代碼Vevb.com
- // 添加文字
- imagettftext($im, 18, 0, 11, 21, $fontcolor, $font, iconv("GB2312","UTF-8",$text));
- // 輸出圖片
- imagepng($im);
- imagedestroy($im);
- ?>
如果想把上面的程序改成英文數字,只要在chinesechar.php 里面的數組中文改成數字或字母就KO了.
新聞熱點
疑難解答