復制代碼 代碼如下: <?php /************************************************ //FILE:ImageCode //DONE:生成動態驗證碼類 //DATE"2010-3-31 //Aut " /> 手机av在线播放,日本成人在线视频网站,国产免费一区二区三区最新6

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

PHP 動態隨機生成驗證碼類代碼

下面是效果圖,這個效果圖是沒有開啟干擾碼的效果圖

下面是類代碼

復制代碼 代碼如下:
<?php
/************************************************
//FILE:ImageCode
//DONE:生成動態驗證碼類
//DATE"2010-3-31
//Author:www.5dkx.com 5D開心博客
************************************************************************/
class ImageCode{
private $width; //驗證碼圖片寬度
private $height; //驗證碼圖片高度
private $codeNum; //驗證碼字符個數
private $checkCode; //驗證碼字符
private $image; //驗證碼畫布
/************************************************************************
// Function:構造函數
// Done:成員屬性初始化
// Author:www.5dkx.com 5D開心博客
************************************************************************/
function __construct($width=60,$height=20,$codeNum=4)
{
$this->width = $width;
$this->height = $height;
$this->codeNum = $codeNum;
$this->checkCode = $this->createCheckCode();
}
function showImage()
{
$this->getcreateImage();
$this->outputText();
$this->setDisturbColor();
$this->outputImage();
}
function getCheckCode()
{
return $this->chekCode;
}
private function getCreateImage()
{
$this->image = imagecreatetruecolor($this->width,$this->height);
$back = imagecolorallocate($this->image,255,255,255);
$border = imagecolorallocate($this->image,255,255,255);
imagefilledrectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
//使用純白色填充矩形框,這里用的話后面干擾碼失效
/*如果想用干擾碼的話使用下面的*/
//imagerectangle($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,rand(0,255),rand(0,255),rand(0,255));
$color = imagecolorallocate($this->image,255,255,255);
imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
//$color = imagecolorallocate($this->image,0,0,0);
//imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
private function outputText()
{
//隨機顏色、隨機擺放、隨機字符串向圖像輸出
for($i=0;$i<=$this->codeNum;$i++)
{
$bg_color = imagecolorallocate($this->image,rand(0,255),rand(0,128),rand(0,255));
$x = floor($this->width/$this->codeNum)*$i+3;
$y = rand(0,$this->height-15);
imagechar($this->image,5,$x,$y,$this->checkCode[$i],$bg_color);
}
}
private function outputImage()
{
if(imagetypes()&IMG_GIF)
{
header("Content_type:image/gif");
imagegif($this->image);
}
elseif(imagetypes()&IMG_JPG)
{
header("Content-type:image/jpeg");
imagejpeg($this->image,"",0.5);
}
elseif(imagetypes()&IMG_PNG)
{
header("Content-type:image/png");
imagejpeg($this->image);
}
elseif(imagetypes()&IMG_WBMP)
{
header("Content-type:image/vnd.wap.wbmp");
imagejpeg($this->image);
}
else
{
die("php不支持圖像創建");
}
}
function __destruct()
{
imagedestroy($this->image);
}
}
/*顯示*/
/*******************************************************************
session_start();
$image = new ImageCode(60,20,4);
$image->showImage();
$_SESSION['ImageCode'] = $image->getCheckCode();
*******************************************************************/
?>

php技術PHP 動態隨機生成驗證碼類代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 山西电视台今天电视节目表| 在线播放国内自拍情侣酒店| 沈月个人详细简历| 罪孽天使| 北京卫视节目单全天| 潜龙轰天 电影| 速度与激情18| 女人战争之肮脏的交易| 原千岁电影| 火船 电影| 北京卫视手机直播| 教育向美而生读书心得体会| a级在线| 米娅华希科沃斯卡| 打龙袍全集免费观看| 李志毅| 行政职业能力测试2024题库及答案| 情侣网站视频| 信我者无需多言,不信我者| 春闺梦里人电影在线观看| 日日夜精品视频| alura jenson movies| 黑色罪案电影免费观看| 秀人网xiuren大尺度| 洛可电影《妮娜》在线观看| 猎魔人第三季 电视剧| 欠条怎么写才具有法律作用| 麦子叔| 贝的故事教案设计优秀教案| 视频三级| 阴阳先生之阴阳中间站 2016 彭禺厶| cctv16节目单| 风间由美的作品| 假如我是一坨屎作文| 樱井步| 红旗车驾驶员个人主要事迹材料| 贾冰又出新的喜剧电影| 彻夜之歌为什么被禁| 喜羊羊简谱| 孕早期不能吃什么| 张国立个人资料简介|