时间:2021-07-01 10:21:17 帮助过:14人阅读
一、创建一个验证码输出文件
session_start();
//5.创建一个验证码
$code_length = 4;
$codes = '';
for($i=0;$i<$code_length;$i++)
{
$codes .= dechex(mt_rand(0,15));
}
//7.生成sesstion
$_SESSION['code'] = $codes;
$width = 75;
$height = 25;
//1. 创建一张图片
$img = imagecreatetruecolor($width,$height);
//4. 创建图片静态内容
//白色
$white = imagecolorallocate($img, 255, 255, 255);
//黑色
$black = imagecolorallocate($img, 100, 100, 100);
//红色
$red = imagecolorallocate($img, 255, 0, 0);
//图片背景
imagefill($img, 0, 0, $white);
//随机线条
for($i=0;$i<4;$i++)
{
//创建随机颜色
$img_mt_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), $img_mt_color);
}
//随机打雪花
for($i=0;$i<100;$i++)
{
//创建随机浅淡色
$img_mt_color = imagecolorallocate($img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
//画*
imagestring($img,1, mt_rand(0,$width),mt_rand(0,$height),'*',$img_mt_color);
}
//imagestring($img, 3, 10, 10, strlen($codes), $red);
//6.绘制验证码
for($i=0;$i<$code_length;$i++)
{
//创建验证码颜色(偏深色)
$img_mt_color = imagecolorallocate($img, mt_rand(0,100), mt_rand(0,150), mt_rand(0,200));
//生成验证码每一位字符
imagestring($img, mt_rand(3,5), $i*$width/4 + mt_rand(0,10), mt_rand(1,$height/2), $_SESSION['code'][$i], $img_mt_color);
}
//创建红色矩形边框
imagerectangle($img, 0, 0, $width-1, $height-1, $red);
//2. 让浏览器知道输出的是一张图片
header('Content-type:image/png');
//3. 输出
imagepng($img);
//4. 销毁
imagedestroy($img);二、在另一个页面调用这个验证码,并且实现点击刷新验证码:
<img src="php_code_img.php" id="myCodeImg" />
<script type="text/javascript">
(function(){
var myCodeImg = document.getElementById_x('myCodeImg');
myCodeImg.onclick = function()
{
this.src = './php_code_img.php?mt='+Math.ceil(Math.random()*1000);
}
})();
</script>相关推荐:
利用PHP绘图函数实现简单验证码功能的方法_php实例
php实现简单验证码
基于PHP生成简单的验证码,PHP生成简单验证码_PHP教程
以上就是php如何创建简单验证码的详细内容,更多请关注Gxl网其它相关文章!