ホームページ >バックエンド開発 >PHPチュートリアル >便利な PHP 検証コード クラスのサンプル Sharing_PHP チュートリアル

便利な PHP 検証コード クラスのサンプル Sharing_PHP チュートリアル

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

呼び出し例を含む、便利な PHP 検証コード クラスを共有します。
注意:
指定されたフォントが適用できない場合は、imagestring() 関数を使用します。指定されたフォントを見つける必要がある場合は、imagettftext() 関数を使用する必要があります。フォントの場所は、C ドライブの下の Windows/Fonts.

です。

インターネット上のPHPで検証コードを生成する方法、PHP画像検証コードとPHP中国語検証コードを生成する方法を参照してください。 PHP GD ライブラリの関連知識を使用しました。

1. 検証コードを生成するクラス VerificationCode.class.php

コードをコピーします コードは次のとおりです:

class VerificationCode{
private $charset="abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789"; // ランダム係数
private $codelen=4; // 検証コードの長さ
private $width=1; 10 ; //幅
private $height=30;幅 /フォントの色パブリック関数 __construct()スルー 使用 使用 使用 アウトout out out out out out len = strlen($ this> charset)-1; >img,mt_rand(157,255),mt_rand(157,255),mt_rand(157,255));
; $i $i++) {
imagettftext($this-> ; img,$this->fontSize,mt_rand(-30,30),$i*$x+mt_rand(1,5),$this->高さ/1.4,$this->fontColor,$this-> ;font,$this->code[$i]); // www.jbxue.com
4. i = 0; $i mt_rand(0, $this-> ),mt_rand(0,$this->幅),mt_rand(0,$this->幅),mt_rand(0,$this->幅),$color); 
for ($i = 0; $i $color=imagecolorallocate($this->img,mt_rand(200,255),mt_rand(200,255) ); 
imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color); 
}
}
//输出
private function outPut(){
header("Content-Type:image/png"); 
imagepng($this->img); 
imagedestroy($this->img); 
}
パブリック関数 showCode(){
$this->createBg(); 
$this->createCode(); 
$this->createDisturb(); 
$this->createFont(); 
$this->outPut(); 
}
//获取验证码
public function getCode(){
return strto lower($this->code); 
}
}
?>

コード.php

复制代码代码如下:

session_start(); 
require_once 'VerificationCode.class.php'; 
$code=new VerificationCode(); 
$_SESSION['code']=$code->getCode(); 
$code->showCode(); 
?> 

验证码:

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/621648.html技術記事説明: 指定された文字体が不適切な場合は、imagestring() 関数、指定された文字体が必要な場合は就用...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。