php验证码程序代码
网上生成php验证码程序用很多,下面我来给大家分享一款超不错的php验证码程序代码,有需要的朋友可参考,验证码识别一般分为以下几个步骤:1. 取出字模,2. 二值化,3. 计算特征,4. 对照样本.
php验证码程序代码如下:
<?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');
}本文地址:http://www.phprm.com/develop/fs4640.html
转载随意,但请附上文章地址:-)