ホームページ  >  記事  >  バックエンド開発  >  PHPイメージ検証コード作成(前編)_PHPチュートリアル

PHPイメージ検証コード作成(前編)_PHPチュートリアル

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

私は今、PHPを勉強中です。初心者なので、知らない人も多いので、基本的なことから始めます。分からない場合は、オンラインで調べます。今日ランダム関数 rand() に出会ったのと同じように、それをこの魔法の武器に書き留めます。それをどうするかを考え、最終的に確認コード、数値の確認コード、アルファベットの確認コードを思い出しました。 、中国語の認証コードがわかりません。ネットで検索して他の人のコードを見ても開けませんでした。ビデオを見て、先生の話を聞いてください。通常、一般的な Web ページには、背景用の写真と思われる特定のボックスで囲まれたランダムな確認コードが表示されます。
自分で見て入力してみると、分からない問題もたくさんありましたが、地に足をつけていれば必ず身につくと信じています。非常に乱雑な文章かもしれませんが、いつか実現すると信じています。
1. 乱数を生成する ——》画像を作成する ——》画像に乱数を書き込む ——》画像に干渉値(点、線)を追加する ——》 セッション内に保持する ——》 引用するフォーム
ランダム関数: rand (int min, int max); これはその起源から切り離すことができません。数字と文字を含む乱数、中国語の乱数 (配列) など、乱数を生成するためのコードをインターネット上でたくさん見てきました。それらはすべて切り離せないものです。 コードは次のとおりです (オンラインでコピーしたものもあります。個人的に受け取らないでください
) 最初のタイプ:

$authnum='';
$ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M, N、O、P、Q、R、S、T、U、V、W、X、Y、Z";
$list=explode(",",$ychar);//分割関数
for($i=0;$i $randnum=rand(0,35);
$authnum.=$list[$randnum];//配列形式で出力

2 番目のタイプ:

プライベート関数 createCheckCode()
{
for(i=0;icodeNum;i++)
{
数値 = rand(0,2);
スイッチ(数字)
{
ケース 0: rand_number = rand(48,57); //数値
; ケース 1: rand_number = rand(65,90);break;//大文字
ケース 2: rand_number = rand(97,122);break;//小文字
}
$asc = sprintf("%c",rand_number);
$asc_number = asc_number.asc;
}
asc_number を返す;

}


3 番目のタイプ:
srand(microtime()*100000);//タイマーと同等
$string="abcdefghigklmnopqrstuvwxyz123456789";
for($i=0;$i {
$new_number.=$string[rand(0,strlen($string)-1)];//突然配列を生成します
}

4 番目のタイプ:
for($i=0;$i {
$rand.=dechex(rand(1,15));//10 進数を 16 進数に変換します
}
GD ライブラリ: (画像処理画像を生成するための画像処理関数用の一連の IPI を提供します)
php で GD ライブラリを有効にします: php.ini 設定ファイルで、「extension=php_gd2.dll」の「;」を削除します
いくつかの GD ライブラリ関数の紹介:
1.imagecreatetruecolor(int x_size,int Y_size) 新しいトゥルーカラー画像を作成します
2.imagecolorallocate(resource image,int red,int green,int blue) は画像に色、三原色を割り当てます
3.imagestring(resource,font,int x,int y,content,color)描画関数
4.header("Content-type:image/jpeg") 出力関数 www.2cto.com
PHP のヘッダーは、PHP5 では次の 3 つのタイプを定義するアクションです。 1.コンテンツタイプ: xxxx/yyyy
2、場所:xxxx:yyyy/zzzz
3、ステータス:nnn xxxxxx
xxxx/yyyy はコンテンツファイルの種類を示します
例: 画像/gif
画像/jpeg
画像/png
imagejpeg()、imagegif()、imagepang()
5.iamgeline(resource image,int x1,int y1,int x2,int y2,int color); 線画関数、(int x, int y) 開始座標
6.imagesetpixel(リソース画像,int x,int y,int color)描画ポイント関数
7.imagettftext(リソース画像, float サイズ, float 角度, int x, int y, int color, string fontfile, string text) フォント書き込み機能付き
8.iconv("gb2312","utf-8","string"); //まずテキストをutf-8形式に変換します。中国語のPHP検証コードを挿入する方法です。
コードについてはPHP検証コード作成(その2)をご覧ください

元さんより抜粋

www.bkjia.com本当http://www.bkjia.com/PHPjc/478238.html技術記事 PHPの基礎を勉強中です 今始めたばかりなので知らない人も多いと思いますので、基本的なところから始めて、分からないところはネットで調べてから書きます。この魔法の武器を身に着けて、今日出会ったときと同じように...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。