剛吃完午飯,寫(xiě)了一個(gè)簡(jiǎn)單的php圖形驗(yàn)證碼程序:(產(chǎn)生一個(gè)隨機(jī)數(shù),取的隨機(jī)字符串,然后將該字符串設(shè)置進(jìn)session,【方便驗(yàn)證】,一個(gè)PHP 設(shè)置成 @header("Content-Type:image/png");? 生成對(duì)應(yīng)圖片。)記得把php中extension=php_gd2.dll 打開(kāi)。
<?php
????session_start();?
????function?random($len)?
????{?
????????$srCStr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";?
????????$strs="";?
????????for($i=0;$i<$len;$i++)
????????{?
????????????$strs.=$srCStr[mt_rand(0,35)];?
????????}?
????????return?$strs;?
????}?
????$str=random(4);?//隨機(jī)生成的字符串?
????$width?=?50;?//驗(yàn)證碼圖片的寬度?
????$height?=?25;?//驗(yàn)證碼圖片的高度?
????@header("Content-Type:image/png");?
????$_SESSION["code"]?=?$str;?
????$im?=?imagecreate($width,$height);?
????//背景色?
????$back?=?imagecolorallocate($im,0xFF,0xFF,0xFF);?
????//模糊點(diǎn)顏色?
????$pix?=?imagecolorallocate($im,187,230,247);?
????//字體色?
????$font?=?imagecolorallocate($im,41,163,238);?
????//繪模糊作用的點(diǎn)?
????for($i=0;$i<1000;$i++)?
????{?
????????imagesetpixel($im,mt_rand(0,$width),mt_rand(0,$height),$pix);?
????}?
????imagestring($im,?5,?7,?5,$str,?$font);?
????imagerectangle($im,0,0,$width-1,$height-1,$font);?
????imagepng($im);?
????imagedestroy($im);?
????$_SESSION["code"]?=?$str;
?>
????session_start();?
????function?random($len)?
????{?
????????$srCStr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";?
????????$strs="";?
????????for($i=0;$i<$len;$i++)
????????{?
????????????$strs.=$srCStr[mt_rand(0,35)];?
????????}?
????????return?$strs;?
????}?
????$str=random(4);?//隨機(jī)生成的字符串?
????$width?=?50;?//驗(yàn)證碼圖片的寬度?
????$height?=?25;?//驗(yàn)證碼圖片的高度?
????@header("Content-Type:image/png");?
????$_SESSION["code"]?=?$str;?
????$im?=?imagecreate($width,$height);?
????//背景色?
????$back?=?imagecolorallocate($im,0xFF,0xFF,0xFF);?
????//模糊點(diǎn)顏色?
????$pix?=?imagecolorallocate($im,187,230,247);?
????//字體色?
????$font?=?imagecolorallocate($im,41,163,238);?
????//繪模糊作用的點(diǎn)?
????for($i=0;$i<1000;$i++)?
????{?
????????imagesetpixel($im,mt_rand(0,$width),mt_rand(0,$height),$pix);?
????}?
????imagestring($im,?5,?7,?5,$str,?$font);?
????imagerectangle($im,0,0,$width-1,$height-1,$font);?
????imagepng($im);?
????imagedestroy($im);?
????$_SESSION["code"]?=?$str;
?>
簡(jiǎn)單記錄。
自 PHP 4.2.0 起,不再需要用 srand()或 mt_srand() 函數(shù)給隨機(jī)數(shù)發(fā)生器播種,現(xiàn)已自動(dòng)完成。
?