php 验证码实例代码
程序员文章站
2022-04-19 09:17:47
如果要用php的画图函数,首先要启用这个模块的功能。就是把php.ini中php_gd2.dll前面的注释去掉就好了。 下面开始画图: 复制代码 代码如下: <...
如果要用php的画图函数,首先要启用这个模块的功能。就是把php.ini中php_gd2.dll前面的注释去掉就好了。
下面开始画图:
<?php
session_start();
//生成验证码图片
header("content-type: image/png");
$im = imagecreate(44,18); // 画一张指定宽高的图片
$back = imagecolorallocate($im, 245,245,245); // 定义背景颜色
imagefill($im,0,0,$back); //把背景颜色填充到刚刚画出来的图片中
$vcodes = "";
srand((double)microtime()*1000000);
//生成4位数字
for($i=0;$i<4;$i++){
$font = imagecolorallocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}
$_session['vcode'] = $vcodes;
for($i=0;$i<100;$i++) //加入干扰象素
{
$randcolor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 画像素点函数
}
imagepng($im);
imagedestroy($im);
?>
基本就是这样实现了,其实如果给图片打水印也无非就是往图片里面写字,原理都差不多的。
使用的地方直接
<img src="xxx.php" /> 填写这个php文件的名字,就可以使用了。
下面开始画图:
复制代码 代码如下:
<?php
session_start();
//生成验证码图片
header("content-type: image/png");
$im = imagecreate(44,18); // 画一张指定宽高的图片
$back = imagecolorallocate($im, 245,245,245); // 定义背景颜色
imagefill($im,0,0,$back); //把背景颜色填充到刚刚画出来的图片中
$vcodes = "";
srand((double)microtime()*1000000);
//生成4位数字
for($i=0;$i<4;$i++){
$font = imagecolorallocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}
$_session['vcode'] = $vcodes;
for($i=0;$i<100;$i++) //加入干扰象素
{
$randcolor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 画像素点函数
}
imagepng($im);
imagedestroy($im);
?>
基本就是这样实现了,其实如果给图片打水印也无非就是往图片里面写字,原理都差不多的。
使用的地方直接
<img src="xxx.php" /> 填写这个php文件的名字,就可以使用了。
下一篇: 大部分网站的Google收录数明显降低