电脑安全

您当前的位置:主页 > 电脑安全 >

php 图片验证码-网络编程

来源:[db:来源]标题:   验证码    编辑:电脑技术全能网 时间:2019-09-20 06:24

原标题:php 图片验证码-网络编程
   php考证码顺序 考证码 代码 php php 图片考证码<?php/*@date 20080514@author hluan//session_start();class icode{function __construct(){ header('Content-Type:image/png');}function __destruct(){ imagedestroy($png);}function getcode($len,$type){ switch ($type){ case 1; $str = "1234567890"; break; case 2; $str = "abcdefghijklmnopqrstuvwxyz"; break; case 0; $str = "1234567890abcdefghijklmnopqrstuvwxyz"; break; } $result = ""; $length = strlen($str) - 1; $num = 0; for ($i=0;$i<$len;$i++){ $num = rand(0,$length); $a = $str[$num]; $result = $result.$a; } /*Before using it,you should use session_start()*/ $_SESSION['icode'] = $result;//Store in session. //echo "session:".$_SESSION['icode']; //die(); $png = imagecreate(60,30); $white = imagecolorallocate($png,255,255,255);//background $red = imagecolorallocate($png,255,0,0); $blue = imagecolorallocate($png,0,0,255); $brown = imagecolorallocate($png,100,0,0); $black = imagecolorallocate($png,0,0,0);//Identifying Code imagefill($png,0,0,$white); $k = rand(0,3); if (0 == $k){ for ($n=0;$n<60;$n++){ $y = 15*sin($n/30*pi()); imagesetpixel($png,$n,15+$y,$red); } }else if (1 == $k){ for ($n=0;$n<60;$n++){ $y = 15*cos($n/60*pi()); imagesetpixel($png,$n,15+$y,$red); } }else if (2 == $k){ for ($n=0;$n<60;$n++){ $y = 15*sin($n/45*pi()); imagesetpixel($png,$n,15+$y,$brown); } }else if (3 == $k){ for ($n=0;$n<60;$n++){ $y = 15*cos($n/30*pi()); imagesetpixel($png,$n,15+$y,$brown); } } for ($k=0;$k<10;$k++){ $i = rand(3,60);//width $j = rand(3,15);//height imageline($png,$i-3,$j-3,$i,$j,$black); } imagestring($png,5,3,5,$result,$blue); $icode = imagepng($png); return $icode;}}/*测试代码$icode = new icode();$icp = $icode->getcode(6,0);echo $icp;*/