php制作验证码及验证码js局部刷新
1、一、获取生成图像的数据,如验证码的四位字符(如何保障数据随机性的处理)。
$authnum=random(4);
//产生随机数函数function random($length) { $hash = ''; $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'; $max = strlen($chars) - 1; mt_srand((double)microtime() * 1000000); for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } return $hash;}
2、//新建一个图像(注意生成图像格式)。Header("Content-type: image/PNG");$im = imagecreate(100,30); //imagecreate() 新建图像,大小为 x_size 和 y_size 的空白图像。
//输出图像ImagePNG($im); //以 PNG 格式将图像输出到浏览器或文件ImageDestroy($im);//销毁一图像
//在不同浏览器显示不一样,


3、//生成填充颜色 注意要在输出图像之前$red = ImageColorAllocate($im, 153,51,0); //设置背景颜色$white = ImageColorAllocate($im, 255,204,0);//设置文字颜色$gray = ImageColorAllocate($im, 102,102,0); //设置杂点颜色
//填充背景颜色imagefill($im,100,30,$red);
//生成空的图片
//

4、//填充数据字符for ($i = 0; $i < strlen($authnum); $i++){ imagestring($im, 7, 14*$i+4, 1, substr($authnum,$i,1), $white); }
//显示随机数

5、for($i=0;$i<100;$i++) imagesetpixel($im, rand()%100 , rand()%30 , $gray); //加入干扰像素
还有很多的干扰像素等大家去发掘,这里就不一一举例了

6、这样一个简单的验证码就做出来了,但是一般验证都是点击刷新验证码,这里就用到了js局部刷新
