<?php
session_start();//必须保存在程序的最顶部
$image=imagecreatetruecolor(100,50);//创建一个宽100px,高30的图片
$bgcolor=imagecolorallocate($image,255,255,255);
imagefill($image,0,0,$bgcolor);
/*
for ($i=0;$i<4;$i++){//4个数字
$fontsize=6; //字体大小
$fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
$fontcontent=rand(0,9);//内容是随机产生数字
$x=($i*100/4)+rand(5,10);
$y=rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);//水平的画一行字符串,6个参数
}
*/
$captch_code='';
for($i=0;$i<4;$i++){//字母加数字验证码的制作
$fontsize=6;
$fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
$date='abcdefghigklmnopqrstuvwxyz0123456789';
$fontcontent=substr($date,rand(0,strlen($date)),1);
$captch_code=$fontcontent;//保存验证码内容
$x=($i*100/4)+rand(5,10);
$y=rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
$_session['authcode']=$captch_code;//存在session['authcode']中
for($i=0;$i<200;$i++){ //随机生成200个点
$pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));//干扰点颜色
imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);//画一个单一像素,即画点,点只需要两个坐标就行了
}
for($i=0;$i<3;$i++){
$linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220));
imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);//画一条线,两点确定一条直线
}
header('content-type:image/png');
imagepng($image);
imagedestroy($image);//销毁资源
?>
session_start();//必须保存在程序的最顶部
$image=imagecreatetruecolor(100,50);//创建一个宽100px,高30的图片
$bgcolor=imagecolorallocate($image,255,255,255);
imagefill($image,0,0,$bgcolor);
/*
for ($i=0;$i<4;$i++){//4个数字
$fontsize=6; //字体大小
$fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
$fontcontent=rand(0,9);//内容是随机产生数字
$x=($i*100/4)+rand(5,10);
$y=rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);//水平的画一行字符串,6个参数
}
*/
$captch_code='';
for($i=0;$i<4;$i++){//字母加数字验证码的制作
$fontsize=6;
$fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
$date='abcdefghigklmnopqrstuvwxyz0123456789';
$fontcontent=substr($date,rand(0,strlen($date)),1);
$captch_code=$fontcontent;//保存验证码内容
$x=($i*100/4)+rand(5,10);
$y=rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
$_session['authcode']=$captch_code;//存在session['authcode']中
for($i=0;$i<200;$i++){ //随机生成200个点
$pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));//干扰点颜色
imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);//画一个单一像素,即画点,点只需要两个坐标就行了
}
for($i=0;$i<3;$i++){
$linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220));
imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);//画一条线,两点确定一条直线
}
header('content-type:image/png');
imagepng($image);
imagedestroy($image);//销毁资源
?>