php验证码

php 验证码:利用gd库生成验证码,这里生成4位的数字形式的图片验证码:在需要的地方这样调用,路径根据实际情况修改:
<img src="../include/yanzhenma.php " align="absmiddle" border="0" width="57" height="18"/>

yanzhenma.php 的代码:

<?php
session_start();
header("content-type:image/png");//设置创建图像的格式
$image_width=70;//设置图像宽度
$image_height=18;//设置图像高度
for($i=0;$i<4;$i++){//循环输出一个4位的随机数
   $new_number.=dechex(rand(0,15));;//随机产生一个0-15之间数,将用dechex将十进制转换为16进制,这样就可以产生字母和数字,共产生4个,存储在num_number中
}
$_SESSION["yanzhenma_session"]=$new_number;//将获取的随机数验证码写入到SESSION变量中,注意是以[](数组)的形式存储,便于比较用户输入是否正确
$num_image=imagecreate($image_width,$image_height);//创建一个画布
imagecolorallocate($num_image,200,200,200);//设置画布的颜色
for($i=0;$i<strlen($_SESSION[yanzhenma]);$i++){//循环读取SESSION变量中的验证码
   $font=5;//设置随机的字体类型1-5则使用内置字体
   $x=3+$image_width*$i/4;//设置随机字符所在位置的X坐标
   $y=2;//设置随机字符所在位置的Y坐标
   $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));//设置字符的颜色
   imagestring($num_image,$font,$x,$y,$_SESSION["yanzhenma_session"][$i],$color);//水平输出字符串
}
imagepng($num_image);//生成PNG格式的图像
imagedestroy($num_image);//释放图像资源
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值