php 简单生成验证码

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/4/6
* Time: 16:30
*/
session_start();
//生成验证图片
header("Content-type:image/png");
//全数字
$str = "1,2,3,4,5,6,a,b,c,d,e,f,g";
$list = explode(",",$str);
$cmax = count($list)-1;
$verifyCode='';
for($i=0;$i<5;$i++){
$randnum = mt_rand(0,$cmax);
$verifyCode .=$list[$randnum];
}
$_SESSION['code']=$verifyCode;
//生成图片
$im = imagecreate(58,28);
$black = imagecolorallocate($im,0,0,0);
$white = imagecolorallocate($im,255,255,255);
$gray = imagecolorallocate($im,200,200,200);
$red = imagecolorallocate($im,255,0,0);
imagefill($im,0,0,$white);
//10 字体大小 8 横向坐标 5 竖向坐标 字体颜色
imagestring($im,10,5,5,$verifyCode,$black);
//加入干扰
for($i=0;$i<50;$i++){
imagesetpixel($im, rand() , rand() , $black); //加入点状干扰素
imagesetpixel($im, rand() , rand() , $red);
imagesetpixel($im, rand() , rand() , $gray);
imagearc($im, rand(), rand(), 20, 20, 75, 170, $black); //加入弧线状干扰素
}
imagepng($im);
imagedestroy($im);
posted @ 2016-04-06 16:54  php点点滴滴  阅读(110)  评论(0编辑  收藏  举报