已有40人关注
使用图形处理技术生成验证码(验证码出不来)
发表在PHP图书答疑 2019-09-15 悬赏:1 学分 《PHP从入门到精通(第4版)》第12章 图形图像处理技术 222页-224页
是否精华
版块置顶:

<?php

session_start();

header("content-type:image/png");    //设置创建图像的格式

$image_width=70;                      //设置图像宽度

$image_height=18;                     //设置图像高度

srand(microtime()*100000);            //设置随机数的种子

$new_number=""; //初始化变量

for($i=0;$i<4;$i++){                  //循环输出一个4位的随机数

   $new_number.=dechex(rand(0,15));

}

$_SESSION['check_checks']=$new_number;    //将获取的随机数验证码写入到SESSION变量中     


$num_image=imagecreate($image_width,$image_height);  //创建一个画布

imagecolorallocate($num_image,255,255,255);      //设置画布的颜色

for($i=0;$i<strlen($_SESSION['check_checks']);$i++){  //循环读取SESSION变量中的验证码

   $font=mt_rand(3,5);                            //设置随机的字体

   $x=mt_rand(1,8)+$image_width*$i/4;               //设置随机字符所在位置的X坐标

   $y=mt_rand(1,$image_height/4);                   //设置随机字符所在位置的Y坐标

   $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));  //设置字符的颜色

   imagestring($num_image,$font,$x,$y,$_SESSION['check_checks'][$i],$color);      //水平输出字符

}

imagepng($num_image);      //生成PNG格式的图像

imagedestroy($num_image);  //释放图像资源

?>


分享到:
精彩评论 1
andy
学分:2118 LV10
TA的每日心情
继续努力
2017-02-06 23:42:34
2019-09-19
沙发

把这行删除:

srand(microtime()*100000);            //设置随机数的种子

或者是把他改为:

srand((double)microtime()*100000);            //设置随机数的种子

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照