ホームページ  >  記事  >  バックエンド開発  >  PHP 検証コードは部分的な refresh_PHP チュートリアルを実装します

PHP 検証コードは部分的な refresh_PHP チュートリアルを実装します

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

通常、検証コードを使用する場合、これは避けられないことですが、実際のアプリケーションでの PHP 検証コードの使用法を見てみましょう。

/*
※Auth_code()は認証コード関数です
* @アクセス公開
* @param int $width は確認コードの長さを表し、デフォルトは 80 です
* @param int $height は認証コードの高さを表し、デフォルトは 20 です
* @param int $num は認証コードの桁数を表し、デフォルトは 4 です
* @param int $line は検証コードの行数を表し、デフォルトは 4 です
* @param int $line は検証コード内の中間点の数を表し、デフォルトは 150 です
*/

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

関数 Auth_code($width = 80,$height = 20,$num = 4,$line = 4,$dot = 150) {

$length = Floor($width/$num); //フロア: 整数部分を取得します。 length: 各セグメントの平均長さ
for($i=0;$i @$rand.=dechex(mt_rand(1,15));
$_SESSION['code']=$rand;

//黒い背景で新しい描画ボードを作成します
$im=imagecreatetruecolor($width,$height);

//色を取得します
$green=imagecolorallocate($im,0,255,0);
$red = imagecolorallocate($im,255,0,0);
$white=imagecolorallocate($im,255,255,255);
$black = imagecolorallocate($im,0,0,0);

//アートボードを埋める
//imagefill($im,0,0,$green);
//線を描く
for($i=0;$i $color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im,rand(10,$width-10),0,rand(0,$width),$height,$color);
}
//いくつか描画します
for($i=0;$i $color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im,rand(0,$width),rand(0,$height),$color);
}
//数字を描く
for($i=0;$i 画像文字列($im,5,mt_rand($i*$length+1,($i+1)*$length-8),mt_rand(0,$height-14),$_SESSION['code'][$i ]、$ホワイト);
}

//画像を出力します
header("コンテンツタイプ:画像/jpeg");
imagejpeg($im);
}

- 主な機能:

Imagecreatetruecolor //黒い背景で新しい描画ボードを作成します
Imagecolorallocate //色を取得します
imagefill imagefill //アートボードを埋める
imageline //線を描く
imagesetpixel //ドットを描画します
Imagestring Imagestring //文字列を描画します(この検証コードは数字です)
注: 描画ボードにデジタル認証コードを描画するときは、フォントの範囲外に注意してください。詳細については、添付ファイルを参照してください。
-部分更新確認コード:

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629689.html技術記事一般に、検証コードを使用する場合、部分的な更新を実装する必要があります。これは避けられないことであり、実際のアプリケーションでの PHP 検証コードの使用法を見てみましょう。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。