实用的一个php验证码类
<?php class ImageCode{ private $width ; //验证码图片宽度 private $height ; //验证码图片高度 private $codeNum ; //验证码字符个数 private $checkCode ; //验证码字符 private $image ; //验证码画布 function __construct( $width =60, $height =20, $codeNum =4){ $this ->width= $width ; $this ->height= $height ; $this ->codeNum= $codeNum ; $this ->checkCode= $this ->createCheckCode(); } function getcreateImage(){ $this ->getcreateImage(); $this ->outputText(); $this ->setDisturbColor(); $this ->outputImage(); } function getCheckCode(){ return $this ->checkCode; } private function getCreateImage(){ $this ->image=imagecreatetruecolor( $this ->width, $this ->height); $black =imagecolorallocate( $this ->image,255,255,255,0); $border =imagecolorallocate( $this ->image,255,255,255,255); imagefilledrectangle( $this ->image,0,0, $this ->width-1, $this ->height-1, $border ); } private function createCheckCode(){ for ( $i =0; $i < $this ->codeNum; $i ){ $number =rand(0,2); switch ( $number ){ case 0: $rand_number =rand(48,57); //数字 break ; case 1: $rand_number =rand(65,90); //大写字母 break ; case 2: $rand_number =rand(97,122); break ; } $asc =sprintf( "%c" , $rand_number ); $asc_number = $asc_number . $asc ; } return $asc_number ; } private function setDisturbColor(){ for ( $i =0; $i <=100; $i ++){ $color =imagecolorallocate( $this ->image,255,255,255); imagesetpixel( $this ->image,rand(1, $this ->width-2),rand(1, $this ->height-2), $color ); } } private function outputImage(){ if (imagetypes()&IMG_GIF){ header( "Content_type:image/gif" ); imagegif( $this ->image); } elseif (imagetypes()&IMG_JGP){ header( "Content_type:image/jpeg" ); imagejpeg( $this ->image, "" ,0.5); } else { //开源代码phpfensi测试数据 die ( "PHP不支持图像创建" ); } } function __destruct(){ imagedestroy( $this ->image); } } ?>查看更多关于实用的一个php验证码类 - php类库的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did29531