刚吃完午饭,写了一个简单的php图形验证码程序:(产生一个随机数,取的随机字符串,然后将该字符串设置进session,【方便验证】,一个PHP 设置成 @header("Content-Type:image/png"); 生成对应图片。)记得把php中extension=php_gd2.dll 打开。
<?
php
session_start();
function random($len)
{
$srCStr = " ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 " ;
$strs = "" ;
for ($i = 0 ;$i < $len;$i ++ )
{
$strs. = $srCStr[mt_rand( 0 , 35 )];
}
return $strs;
}
$str = random( 4 ); // 随机生成的字符串
$width = 50 ; // 验证码图片的宽度
$height = 25 ; // 验证码图片的高度
@header( " Content-Type:image/png " );
$_SESSION[ " code " ] = $str;
$im = imagecreate($width,$height);
// 背景色
$back = imagecolorallocate($im, 0xFF , 0xFF , 0xFF );
// 模糊点颜色
$pix = imagecolorallocate($im, 187 , 230 , 247 );
// 字体色
$font = imagecolorallocate($im, 41 , 163 , 238 );
// 绘模糊作用的点
for ($i = 0 ;$i < 1000 ;$i ++ )
{
imagesetpixel($im,mt_rand( 0 ,$width),mt_rand( 0 ,$height),$pix);
}
imagestring($im, 5 , 7 , 5 ,$str, $font);
imagerectangle($im, 0 , 0 ,$width - 1 ,$height - 1 ,$font);
imagepng($im);
imagedestroy($im);
$_SESSION[ " code " ] = $str;
?>
session_start();
function random($len)
{
$srCStr = " ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 " ;
$strs = "" ;
for ($i = 0 ;$i < $len;$i ++ )
{
$strs. = $srCStr[mt_rand( 0 , 35 )];
}
return $strs;
}
$str = random( 4 ); // 随机生成的字符串
$width = 50 ; // 验证码图片的宽度
$height = 25 ; // 验证码图片的高度
@header( " Content-Type:image/png " );
$_SESSION[ " code " ] = $str;
$im = imagecreate($width,$height);
// 背景色
$back = imagecolorallocate($im, 0xFF , 0xFF , 0xFF );
// 模糊点颜色
$pix = imagecolorallocate($im, 187 , 230 , 247 );
// 字体色
$font = imagecolorallocate($im, 41 , 163 , 238 );
// 绘模糊作用的点
for ($i = 0 ;$i < 1000 ;$i ++ )
{
imagesetpixel($im,mt_rand( 0 ,$width),mt_rand( 0 ,$height),$pix);
}
imagestring($im, 5 , 7 , 5 ,$str, $font);
imagerectangle($im, 0 , 0 ,$width - 1 ,$height - 1 ,$font);
imagepng($im);
imagedestroy($im);
$_SESSION[ " code " ] = $str;
?>
简单记录。
自 PHP 4.2.0 起,不再需要用 srand()或 mt_srand() 函数给随机数发生器播种,现已自动完成。