本篇文章主要介紹php產生驗證碼檔案的方法,感興趣的朋友參考下,希望對大家有所協助。
本文執行個體講述了php實現的驗證碼檔案類,具體如下:
<?php/*** @file* @version 1.0* @author 網海浪子* @brief 驗證碼檔案類**/class CCheckCodeFile{//驗證碼位元private $mCheckCodeNum = 4;//產生的驗證碼private $mCheckCode = '';//驗證碼的圖片private $mCheckImage = '';//幹擾像素private $mDisturbColor = '';//驗證碼的圖片寬度private $mCheckImageWidth = '80';//驗證碼的圖片寬度private $mCheckImageHeight = '20';/**** @brief 輸出頭**/private function OutFileHeader(){ header ("Content-type: image/png");}/**** @brief 產生驗證碼**/private function CreateCheckCode(){ $this->mCheckCode = strtoupper(substr(md5(rand()),0,$this->mCheckCodeNum)); return $this->mCheckCode;} /**** @brief 產生驗證碼圖片**/private function CreateImage(){ $this->mCheckImage = @imagecreate ($this->mCheckImageWidth,$this->mCheckImageHeight); imagecolorallocate ($this->mCheckImage, 200, 200, 200); return $this->mCheckImage;}/**** @brief 設定圖片的幹擾像素**/private function SetDisturbColor(){ for ($i=0;$i<=128;$i++) { $this->mDisturbColor = imagecolorallocate ($this->mCheckImage, rand(0,255), rand(0,255), rand(0,255)); imagesetpixel($this->mCheckImage,rand(2,128),rand(2,38),$this->mDisturbColor); }}/**** @brief 設定驗證碼圖片的大小** @param $width 寬** @param $height 高**/public function SetCheckImageWH($width,$height){ if($width==''||$height=='')return false; $this->mCheckImageWidth = $width; $this->mCheckImageHeight = $height; return true;}/**** @brief 在驗證碼圖片上逐個畫上驗證碼**/private function WriteCheckCodeToImage(){ for ($i=0;$i<=$this->mCheckCodeNum;$i++) { $bg_color = imagecolorallocate ($this->mCheckImage, rand(0,255), rand(0,128), rand(0,255)); $x = floor($this->mCheckImageWidth/$this->mCheckCodeNum)*$i; $y = rand(0,$this->mCheckImageHeight-15); imagechar ($this->mCheckImage, 5, $x, $y, $this->mCheckCode[$i], $bg_color); }}/**** @brief 輸出驗證碼圖片**/public function OutCheckImage(){ $this ->OutFileHeader(); $this ->CreateCheckCode(); $this ->CreateImage(); $this ->SetDisturbColor(); $this ->WriteCheckCodeToImage(); imagepng($this->mCheckImage); imagedestroy($this->mCheckImage);}}$c_check_code_image = new CCheckCodeFile();//$c_check_code_image ->SetCheckImageWH(100,50);//設定顯示驗證碼圖片的尺寸$c_check_code_image ->OutCheckImage();?>
總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。
相關推薦:
php採用鏈式調用的方式連續調用函數的使用方
php數字及數字運算驗證碼法
php針對檔案的遞迴遍曆及重新命名的方法