php图片验证码的制作(基础篇)

参考资料(php100视频-图片验证码的制作)
1.启用GD库
GD库提供了一系列处理图片的API,使用GD库可以对图片进行缩略,生成,加水印等操作
(1)在php.ini中启用GD库
extension=php_gd2.dll
(2)在wampserver中启用GD库
php扩展-php_gd2 打勾

2.GD库部分函数
(1)新建一个真彩色图片-imagecreatetruecolor
imagecreatetruecolor(int x_size,int y_size)//x_size为宽,y_size为高
(2)为一副图片分配颜色-imagecolorallocate
imagecolorallocate(resource image,int red,int green,int blue)
(3)绘图函数-imagestring
imagestring(resource image,font,int x,int y,内容,颜色)

3.随机函数,十六进制函数
(1)rand随机函数
rand([int min,int max])
rand(0,10) 0到10之间的随机数
(2)dechex十进制转换为十六进制
dechex(十进制数)
十六进制1~f

4.GD+session制作PHP验证码

实例操作
步骤:生成随机数-创建图片-随机数写进图片-保存在session中

check.php

<?php
session_start
();
for(
$i=0;$i<4;$i++)
{
 
//$shui=rand(0,15);
 //echo dechex($shui);//dechex函数十六进制可以把十进制转换成字母
 
$shui.=dechex(rand(1,15)); 
}
$_SESSION[check_pic]=$shui;
$im=imagecreatetruecolor(100,30);//创建一个真彩色图片,宽100px,高30px

//创建颜色
$bg=imagecolorallocate($im,0,0,0);//第一次用调试板时为背景颜色,000为黑色
$te=imagecolorallocate($im,255,255,255);//255,255,255为白色

//把字符串写在图片左上角
imagestring($im,rand(1,6),rand(3,70),rand(3,10),$shui,$te);

//输出图片
header('Content-type:image/jpeg');
imagejpeg($im);
?>

 

sub.php 

<?php
session_start
();
if(
$_POST['check'])
{
 if(
$_POST['check']==$_SESSION['check_pic'])
 {
  echo 
'验证码正确',$_SESSION['check_pic'];
 }
 else{echo 
'验证码错误',$_SESSION['check_pic'];}
}
?>
<form action="" method="post">
<img src='check.php'><br/>
<input type="text" name="check" maxlength="4">
<input type="submit" value="提交">
</form>

查看示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值