网上生成php验证码程序用很多,下面我来给大家分享一款超不错的php验证码程序代码,有需要的朋友可参考,验证码识别一般分为以下几个步骤:1. 取出字模,2. 二值化,3. 计算特征,4. 对照样本.
php验证码程序代码如下:
- function _code($_code_length = 4, $_width = 75, $_height = 25){
- for($i=0;$i<$_code_length;$i++){
- $_nmsg .= dechex(mt_rand(0,15));
- }
- $_SESSION["code"] = $_nmsg;
-
- $_img = imagecreatetruecolor($_width, $_height);
-
- $_white = imagecolorallocate($_img, 250, 250, 250);
-
- imagefill($_img, 0, 0, $_white);
-
- $_gray = imagecolorallocate($_img, 196, 196, 196);
-
- imagerectangle($_img, 0, 0, $_width-1, $_height-1, $_gray);
-
- for ($i=0; $i < 6; $i++) {
- $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
- imageline($_img, mt_rand(0,$_width), mt_rand(0, $_height),mt_rand(0,$_width), mt_rand(0, $_height), $_md_color);
- }
-
- for ($i=0; $i < 50; $i++) {
- $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
- imagestring($_img, 1, mt_rand(1,$_width-5), mt_rand(1, $_height-5), "*", $_md_color);
- }
-
- for ($i=0; $i < $_code_length ; $i++) {
- $_md_color = imagecolorallocate($_img, mt_rand(0,102), mt_rand(0,102), mt_rand(0,102));
- imagestring($_img, 5, $i * $_width/$_code_length+ mt_rand(1, 10), mt_rand(1, $_height/2), $_SESSION["code"][$i], $_md_color);
- }
-
- header("Content-Type:image/png");
-
- imagepng($_img);
-
- imagedestroy($_img);
- }
-
-
-
- $getcode = $_POST['code'];
-
- if( $_SESSION["code"] = $getcode )
- {
- echo ' 验证合法,进入下一步';
- unset( $_SESSION["code"] );
- }
- else
- {
- echo ' 验证码不正确';
- header('location:vial.php');
- }
|