ホームページ >バックエンド開発 >PHPチュートリアル >PHP 検証コード class_PHP チュートリアル

PHP 検証コード class_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:48:54795ブラウズ

/**
* 認証コードのカテゴリ
*chaojie2008@126.com
* 2012-02-09
**/
クラスヴァイリム{
プライベート $width; プライベート $height; プライベート $codeNum; プライベート $checkCode; プライベート $image;
構築方法は、検証コードオブジェクトをインスタンス化し、いくつかのメンバー属性を初期化するために使用されます /* パラメータ幅: 検証コード画像の幅を設定します。デフォルトの幅値は 60 ピクセルです */
/* パラメーターの高さ: 検証コード画像の高さを設定します。デフォルトの高さの値は 20 ピクセルです */
/* パラメータ codeNum: 確認コードの文字と数字の数を設定します。デフォルトの数は 4 です */
function __construct($width=60, $height=20, $codeNum=4) {
                                                                                                                                                                                                                                                                                                                                                                                                            $this->checkCode=$this->createCheckCode() //メンバー属性 checkCode を初期化します
; }
Function ShowImage () {// このメソッドにアクセスしてブラウザに画像を出力します
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
function getCheckCode(){ //このメソッドにアクセスして、ランダムに作成された検証コード文字列を取得します
return $ this-> checkcode; }
画像リソースの作成に使用されるプライベート関数 getcreateImage() {// と裏面の裏面
$this->image=imageCreate($this->width,$this->height);
$back=imageColorAllocate($this->image, 255, 255, 255);
$border=imageColorAllocate($this->image, 0, 0, 0);
imageRectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
}
private function createCheckCode(){ //ユーザーが指定した数の文字列をランダムに生成します
for($i=0;$icodeNum;$i++) {
$number=rand(0,2);
switch($number){
ケース 0: $rand_number=rand(48,57);break;                                                                                                                                                                                                                                                              ケース 2: $rand_number=rand(97,122);break; }
$ascii=sprintf("%c",$rand_number);
$ascii_number=$ascii_number.$ascii;
                                                                    return $ascii_number;                                                                    private function setDisturbColor() { //干渉ピクセルを設定し、異なる色の 100 点を画像に出力します
for ($i=0;$i $color = imagecolorallocate($this->image, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
}
プライベート関数outputText() { // ランダムな色、ランダムな配置、ランダムな文字列を画像に出力します
for ($i=0;$icodeNum;$i++) {
$bg_color = imagecolorallocate($this->image, rand(0,255), rand(0,128), rand(0,255));
$x = フロア($this->width/$this->codeNum)*$i+3;
$y = rand(0,$this->height-15);
Imagechar($this->image, 5, $x, $y, $this->checkCode[$i], $bg_color);
}
}

プライベート関数 OutputImage () {// GD がサポートする画像タイプを自動的に検出し、画像を出力します
If(imagetypes() & IMG_GIF){ //GIF形式の画像を生成する関数が存在するかどうかを判定します
header("Content-type: image/gif"); //ヘッダー情報を送信し、MIME タイプを image/gif に設定します
Imagegif ($ this- & gt; Image) // 画像を gif 形式でブラウザ
に出力します。 } Elseif (ImageTypes () & IMG_JPG) {// jpg 形式の画像を生成する関数が存在するかどうかを判断します
header("Content-type: image/jpeg"); //ヘッダー情報を送信し、MIME タイプを image/jpeg に設定します
Imagejpeg($this->image, "", 0.5); //画像をJPEN形式でブラウザに出力します
} Elseif (ImageTypes () & IMG_PNG) {// PNG 形式の画像を生成する関数が存在するかどうかを判断します
header("Content-type: image/png"); //ヘッダー情報を送信し、MIME タイプを image/png に設定します
ImagePng ($ this-> Image) // 画像を PNG 形式でブラウザーに出力します
} Elseif (ImageTypes () & IMG_WBMP) {// WBMP 形式の画像を生成する関数が存在するかどうかを判断します
header("Content-type: image/vnd.wap.wbmp"); //送信ヘッダーはimage/wbmp
wbmp形式のブラウザに画像を出します
                                                                                                                                                                                                                                                                                        DIE ("PHP はイメージの作成をサポートしていません!"); // 画像を出力せず、エラーメッセージを出力してプログラムを終了します
                                                                    }
Function __Destruct () {// オブジェクトが終了する前にオブジェクトが破棄されると、画像リソースはメモリを解放します
GDライブラリでメソッドを使用して画像リソースを破壊する }
}
?>

chaojie2009 さんのコラムより抜粋


http://www.bkjia.com/PHPjc/478390.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478390.html技術記事 ?php /*** 認証コード カテゴリ * chaojie2008@126.com * 2012-02-09 **/ class Vailimg { private $width; // 認証コード画像の幅 private $height // 認証コード画像の高さ private $codeN...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。