ホームページ  >  記事  >  バックエンド開発  >  access2003 検証コード PHP はスノーフレークの背景を持つ検証コードを生成します

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

WBOY
WBOYオリジナル
2016-07-29 08:38:571047ブラウズ

session_start();
session_register("login_check_number");
//昨夜、chianren に対する検証コードの影響を見たので、それを考えて、PHP の GD ライブラリを使用して同様の関数を完成させました
//最初背景を生成し、生成された検証コードを配置します
$img_height=120; //最初に画像の長さと幅を定義します
if($HTTP_GET_VARS["act"]== " init"){
/ /srand(microtime() * 100000);//PHP420以降はsrandは不要
for($Tmpa=0;$Tmpa<4;$Tmpa++){
$nmsg.=dechex(rand (0,15)) ;
}//sports98 による
$HTTP_SESSION_VARS[login_check_number] = $nmsg;
//$HTTP_SESSION_VARS[login_check_number] = strval(mt_rand("1111","9999")); 4桁の乱数を入れてセッションに入ります
//文字と数字を同時に生成できるものを追加できるのは誰ですか? ? ----sports98 によって完了
$aimg = imageCreate($img_height,$img_width); //画像を生成します
ImageColorAllocate($aimg, 255,255,255) //ImageColorAllocate が最初に色を定義します。 , PHP はそれを考慮します 背景色は
$black = ImageColorAllocate($aimg, 0,0,0) //必要な黒を定義します
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;$iimageString($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);フォーマット。 。 。ふふ、効果はかなり似ていますね。 。 。
ImageDestroy($aimg)
}
?>
上記は、Access2003 検証コードを紹介し、PHP チュートリアルに興味のある友人に役立つことを願っています。

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