本文章利用三个文件来简单的讲了一下关于php中怎么去应用中文验证码,中文因为是汉字可能出现乱码所以我们就定义了一个文件来专门处理,有需要的朋友可以参考下.
php中文汉字验证码程序代码如下:
- <?php
-
-
-
-
- $ChineseChar = array("人","出","来","友","学","孝","仁","义","礼","廉","忠","国","中","易","白","者","火 ","土","金","木","雷","风","龙","虎","天","地", "生","晕","菜","鸟","田","三","百","钱","福 ","爱","情","兽","虫","鱼","九","网","新","度","哎","唉","啊","哦","仪","老","少","日", "月 ","星");
- ?>
-
- <?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
-
-
-
-
-
-
- include_once("chinesechar.php");
- session_start();
-
- 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';
-
-
- imagettftext($im, 18, 0, 11, 21, $fontcolor, $font, iconv("GB2312","UTF-8",$text));
-
-
- imagepng($im);
- imagedestroy($im);
- ?>
如果想把上面的程序改成英文数字,只要在chinesechar.php 里面的数组中文改成数字或字母就KO了. |