php验证码

<?php

session_start();
$arr = array(   
    'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x',
    'y','z','0','1','2','3','4','5','6','7','8','9'
);
$rand = "";
for($i=1;$i<=4; $i++){  //随机产生4个由不同字母与数字组合成的验证码
    $rand .= $arr[rand(0,count($arr)-1)];
}
$_SESSION['check_pic'] = $rand;
//生成图片
$im = imagecreatetruecolor(100,30);
//生成颜色,当第一次调用生成颜色的方法,是生成背景颜色
$bg = imagecolorallocate($im,0,0,0);
//第二次调用这个方法,是可以生成图片上面的文字或其他样式的颜色
$te = imagecolorallocate($im,255,255,255);

//在图片上面生成文字
imagestring($im,rand(1,5),rand(3,70),rand(3,15),$rand,$te);
//要把php当成图片输出,必须给文件一个头申明

ob_clean();
header("Content-type:image/jpeg");
//最终生成图片
imagejpeg($im);

?>

  

imagecreatetruecolor(宽,高);    图片宽高
imagecolorallocate(图片,红,绿,蓝)    调用(三原色)生成颜色的方法,是生成背景颜色
imagestring(图片,字体大小,字所在的x轴,字所在的y轴,要显示的验证码,字体颜色)
header     要把php当成图片输出,必须给文件一个头申明
imagejpeg(图片)   生成图片




原文地址:https://www.cnblogs.com/5huihui/p/3726649.html