php生成随机验证码

php php 1033      收藏
php生成随机验证码

<?php
/**
 * @Author: H5模板网
 * @Date:   2018-03-11 19:50:38
 * @Last Modified by:   Libiao
 * @Last Modified time: 2018-03-11 22:07:28
 */

session_start();  //初始化seesion变量
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;//将获取的随机数验证码写入seeion中
$num_image=imagecreate($image_width,$image_height);//创建一个画布
// $num_image=imagecreatefrompng("images/one.png");   //设置图片
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);                 //设置随机字符所在位置的x坐标
     $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);//释放图像资源
?>