博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php手机验证码源码,php验证码实现源码
阅读量:5299 次
发布时间:2019-06-14

本文共 1328 字,大约阅读时间需要 4 分钟。

session_start();

// 随机码个数

$_rnd_code = 4;

// 创建随机码

global $_rnum ;

for ($i = 0; $i < 4; $i ++) {

$_rnum .= dechex(mt_rand(0, 15));

}

// 保存到session中

$_SESSION["code"] = $_rnum;

// echo $_rnum;

// 创建图像

$width = 75;

$height = 25;

$_img = imagecreatetruecolor($width, $height);

// 设置背景色

$_white = imagecolorallocate($_img, 255, 255, 255);

imagefill($_img, 0, 0, $_white);

// 设置边框

$_black = imagecolorallocate($_img, 0, 0, 0);

// imagerectangle($_img, 0, 0, $width - 1, $height - 1, $_black);

// 设置随机线条

for ($i = 0; $i < 6; $i ++) {

$_rnd_color = imagecolorallocate($_img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));

imageline($_img, mt_rand(0, $width), mt_rand(0, $height), mt_rand(0, $width), mt_rand(0, $height), $_rnd_color);

}

// 设置随机雪花

for ($i = 0; $i < 50; $i ++) {

$_rnd_color = imagecolorallocate($_img, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));

imagestring($_img, 1, mt_rand(1, $width), mt_rand(1, $height), '#', $_rnd_color);

}

// 输出验证码

for ($i = 0; $i < strlen($_SESSION['code']); $i ++) {

$_rnd_color = imagecolorallocate($_img, mt_rand(0, 100), mt_rand(0, 150), mt_rand(0, 200));

imagestring($_img, 5, $i * $width / $_rnd_code + mt_rand(1, 10), mt_rand(1, $height / 2), $_SESSION['code'][$i], $_rnd_color);

}

// 输出图像

header('Content-Type:image/png');

imagepng($_img);

imagedestroy($_img);

?>

调用:

code.php

转载地址:http://wodqv.baihongyu.com/

你可能感兴趣的文章
跨线程调用窗体控件
查看>>
linq to sql 扩展方法
查看>>
241. Different Ways to Add Parentheses
查看>>
实验10 编写子程序 1.显示字符串
查看>>
Effect-Compiler Tool(fxc.exe)
查看>>
django中的缓存 单页面缓存,局部缓存,全站缓存 跨域问题的解决
查看>>
常见HTTP状态码(200、301、302、500等)
查看>>
Atiti.大企业病与小企业病 大公司病与小公司病
查看>>
处理器管理与进程调度
查看>>
解决随机数生成的坐标在对角线上的问题
查看>>
服务器ganglia安装
查看>>
回炉重造-基本规则之语言的理解
查看>>
查找字符串中出现最多的字符
查看>>
C++执行内存memcpy的效率测试
查看>>
Event Store框架探究
查看>>
部分STL_hanhan~
查看>>
16进制的简单运算(不同进制的计算,输入,输出)
查看>>
vue.js安装
查看>>
CUDA并行计算 | 线程模型与内存模型
查看>>
android JNI库实现reboot,recovery
查看>>