php验证码制作

 时间:2026-02-15 23:56:19

1、1)底图制作

$image = imagecreate(100, 30); // 创建画布 $bgcolor = imagecolorallocate($image, 255, 255, 255);//定义画布背景颜色 imagefill($image,0,0,$bgcolor);//填充背景

2、2)生成验证内容 $fontsize=8;//字体大小 $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//随机验证码字体颜色 $date='qwertyuiopasdfghjklzxcvbnm1234567890';//验证码字典 $fontcontent=substr($date,rand(0,strlen($date)-1),1);//验证码

3、3)生成验证码图片 imagestring函数可以将字符串输出到图像中 imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);

4、4)校验验证内容</strong>验证码可以存储在session中,session_start应该放在最顶端用户输入的验证码用表单提交<form method="post">    验证码图片:<img align="center" src="./yan_zheng_ma.php"/>    <input type="text" name="yanzhengma" value=""/>    <input type="submit" value="提交"/>    </form>

5、以下是完整代码

<?php/*验证码制作干扰点,干扰线保存验证码在服务端*/session_start();$image = imagecreate(100, 30); // 创建画布$bgcolor = imagecolorallocate($image, 255, 255, 255);//定义画布背景颜色imagefill($image,0,0,$bgcolor);//填充背景//输出4位验证码$capatch='';for($i=0;$i<4;$i++){    $fontsize=12;//字体大小    $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//字体颜色    $date='qwertyupasdfghjklzxcvbnm23456789';//验证码字典    $fontcontent=substr($date,rand(0,strlen($date)-1),1);//验证码    $capatch.=$fontcontent;    //验证码坐标    $x=($i*100/4)+rand(5,10);    $y=rand(5,10);    //生成验证码    imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}//干扰点for($i=0;$i<200;$i++){    $pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));    imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);}//干扰线for($i=0;$i<3;$i++){    $linecolor=imagecolorallocate($image,rand(100,200),rand(100,200),rand(100,200));    imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}$_SESSION['authcode']=$capatch;header('content-type:image/png'); // 像浏览器输出图片头信息imagepng($image); // 输出图片到浏览器imagedestroy($image);//销毁图片

  • php验证码怎么做
  • php实现网站验证码功能
  • 用php显示验证码
  • PHPvod如何设置验证码
  • php制作验证码及验证码js局部刷新
  • 热门搜索
    迪庆州旅游局 旅游城市标志 文化旅游产业 安庆旅游景点大全 山东青岛旅游 名古屋旅游景点 旅游活动总结 湿地旅游 江苏省旅游地图 文明旅游活动总结