Heim  >  Artikel  >  php教程  >  PHP验证码图片生成程序

PHP验证码图片生成程序

WBOY
WBOYOriginal
2016-06-21 09:07:111084Durchsuche

程序|验证码

//小猪会气功
session_start();
session_register('code');
$width = "70";//图片宽
$height = "25";//图片高
$len = "4";//生成几位验证码
$bgcolor = "#ffffff";//背景色
$noise = true;//生成杂点
$noisenum = 200;//杂点数量
$border = false;//边框
$bordercolor = "#000000";
$image = imageCreate($width, $height);
$back = getcolor($bgcolor);
imageFilledRectangle($image, 0, 0, $width, $height, $back);
$size = $width/$len;
if($size>$height) $size=$height;
$left = ($width-$len*($size+$size/10))/$size;
for ($i=0; $i{
        $randtext = rand(0, 9);
        $code .= $randtext;
 $textColor = imageColorAllocate($image, rand(0, 100), rand(0, 100), rand(0, 100));
 $font = rand(1,4).".ttf";
 $randsize = rand($size-$size/10, $size+$size/10);
 $location = $left+($i*$size+$size/10);
 imagettftext($image, $randsize, rand(-18,18), $location, rand($size-$size/10, $size+$size/10), $textColor, $font, $randtext);
}
if($noise == true) setnoise();
$_SESSION['code'] = $code;
$bordercolor = getcolor($bordercolor);
if($border==true) imageRectangle($image, 0, 0, $width-1, $height-1, $bordercolor);
header("Content-type: image/png");
imagePng($image);
imagedestroy($image);
function getcolor($color)
{
     global $image;
     $color = eregi_replace ("^#","",$color);
     $r = $color[0].$color[1];
     $r = hexdec ($r);
     $b = $color[2].$color[3];
     $b = hexdec ($b);
     $g = $color[4].$color[5];
     $g = hexdec ($g);
     $color = imagecolorallocate ($image, $r, $b, $g);
     return $color;
}
function setnoise()
{
 global $image, $width, $height, $back, $noisenum;
 for ($i=0; $i  $randColor = imageColorAllocate($image, rand(0, 255), rand(0, 255), rand(0, 255)); 
  imageSetPixel($image, rand(0, $width), rand(0, $height), $randColor);
 }
}
?>



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHPLIB访问多个数据库Nächster Artikel:PHP连接LDAP服务器