ホームページ >php教程 >php手册 >PHP はスノーフレークの背景で検証コードを生成します

PHP はスノーフレークの背景で検証コードを生成します

WBOY
WBOYオリジナル
2016-06-21 09:08:241039ブラウズ

認証コード

エフェクトのリファレンス (ソース コード付き) http://mail.htjs.net/yanzhengma/test.php

http://www.dev-club.com/club/bbs/showEssence.asp?id=20768&page=1基本的には

session_start();
session_register("login_check_number");
//昨夜、chianren で確認コードの影響を見たので、それを考えて PHP の GD ライブラリを使用して同様の関数を完成させました
//最初に背景を生成し、生成された検証コードをその上に配置します
$img_height=120; //最初に画像の長さと幅を定義します
$img_width=40;
if($HTTP_GET_VARS["act"] == "init "){
//srand(microtime() * 100000);//PHP420 以降では srand は必要ありません
for($Tmpa=0;$Tmpa "$nmsg. =dechex(rand( ) // 4 桁の乱数を生成し、セッションに入力します
// 文字と数字を同時に生成できると誰が付け加えられるでしょうか? ? ---- Sports98 によって完成

$ AIMG = ImageCreate ($ Img_height, $ IMG_WIDTH); // 画像を生成します
ImageColoraCate ($ AIMG, 255,255,255); // ImageColoral Locate はカラー PHP の最初の定義です。
$black = ImageColorAllocate($aimg, 0,0,0); // 必要な black を定義します
ImageRectangle($aimg,0,0,$img_height-1,$img_width-1,$black); // 最初に作成します画像を囲む黒い四角形

//今度は、スノーフレークの背景を生成します。実際には、画像上にいくつかのシンボルを生成します
for ($i=1; $i<=100; $i++) { //最初はテストに 100 を使用します
ImageString($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"*",imageColorAllocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand( 200,255)));
// ほら、これは実際には雪の結晶ではなく、単なる * 記号です。それらを「乱雑でカラフル」に見せるには、それらを 1 つずつ生成するときに、位置、色、さらにはサイズに乱数を使用する必要があります。これは rand() または mt_rand を使用して行うことができます。
}

//背景は上記で生成されました。次に、生成された乱数を配置します。原理は上記と同様で、乱数を1つずつ配置し、その位置、大きさ、色はすべて乱数です~~
//背景と区別するために、ここでの色は200を超えてはなりません。また、上記の色は 200
未満であってはなりません。for ($i=0;$i imageString($aimg, mt_rand(3,5),$i* $img_height/4+mt_rand(1,10 ),mt_rand(1,$img_width/2), $HTTP_SESSION_VARS[ログインチェック番号][$i],imageColorAllocate($aimg,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200) )));
}
Header(" Content-type: image/png"); // 次のデータがテキストとして表示されるのではなく、画像であることをブラウザーに伝えます
ImagePng($aimg) // png を生成します。フォーマット。 。 。ふふ、効果はかなり似ていますね。 。 。
ImageDestroy($aimg);
}

?>





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。