剛吃完午飯,寫了一個簡單的php圖形驗證碼程序:(產生一個隨機數,取的隨機字符串,然后將該字符串設置進session,【方便驗證】,一個PHP 設置成 @header("Content-Type:image/png");? 生成對應圖片。)記得把php中extension=php_gd2.dll 打開。
<?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);?//隨機生成的字符串?
????$width?=?50;?//驗證碼圖片的寬度?
????$height?=?25;?//驗證碼圖片的高度?
????@header("Content-Type:image/png");?
????$_SESSION["code"]?=?$str;?
????$im?=?imagecreate($width,$height);?
????//背景色?
????$back?=?imagecolorallocate($im,0xFF,0xFF,0xFF);?
????//模糊點顏色?
????$pix?=?imagecolorallocate($im,187,230,247);?
????//字體色?
????$font?=?imagecolorallocate($im,41,163,238);?
????//繪模糊作用的點?
????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);?//隨機生成的字符串?
????$width?=?50;?//驗證碼圖片的寬度?
????$height?=?25;?//驗證碼圖片的高度?
????@header("Content-Type:image/png");?
????$_SESSION["code"]?=?$str;?
????$im?=?imagecreate($width,$height);?
????//背景色?
????$back?=?imagecolorallocate($im,0xFF,0xFF,0xFF);?
????//模糊點顏色?
????$pix?=?imagecolorallocate($im,187,230,247);?
????//字體色?
????$font?=?imagecolorallocate($im,41,163,238);?
????//繪模糊作用的點?
????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;
?>
簡單記錄。
自 PHP 4.2.0 起,不再需要用 srand()或 mt_srand() 函數給隨機數發生器播種,現已自動完成。
?