PHP画像検証コードの作成例

WBOY
WBOYオリジナル
2016-07-25 08:55:121074ブラウズ
  1. $authnum='';
  2. $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";
  3. $list=explode( ",",$ychar);//分割関数
  4. for($i=0;$i<4;$i++){
  5. $randnum=rand(0,35);
  6. $authnum.=$list[$randnum ];//配列形式で出力
コードをコピー

プライベート関数として定義された方法 2。

  1. private function createCheckCode()
  2. {
  3. for(i=0;icodeNum;i++)
  4. {
  5. number = rand(0,2);
  6. switch(数値)
  7. {
  8. case 0: rand_number = rand(48,57); Break;//数値
  9. case 1: rand_number = rand(65,90);break;//大文字
  10. case 2: rand_number = rand(97,122 );break;//小文字
  11. }
  12. $asc = sprintf("%c",rand_number);
  13. $asc_number = asc_number.asc;
  14. return
  15. }
方法 3 、ランダム シードを使用して PHP 検証コードを生成します。

srand(microtime()*100000);//タイマーと同等
$string="abcdefghigklmnopqrstuvwxyz123456789";
    for($i=0;$i<4;$i++)
  1. {
  2. $new_number.=$string[rand(0,strlen($string)-1)];//配列を即時に生成
  3. }
  4. コードをコピー
方法 4,

for($i=0;$i<4;$i++)
{
$rand.=dechex(rand(1,15));//10 進数を 16 進数に変換します
    }
  1. Copyコード
それでは、この記事の本題に移りましょう。 PHP 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") 出力関数phpのヘッダはphp5のヘッダを定義するアクションです。タイプ: 1、コンテンツ タイプ: xxxx/yyyy 2、場所: xxxx:yyyy/zzzz 3、ステータス: nnn xxxxxx xxxx/yyyy は、image/gif image/jpeg image などのコンテンツ ファイルのタイプを示します。 /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 中国語検証コードを生成する方法を参照できます。
例 1、数字と文字コードをランダムに生成:

//che.php
session_start();
    for($i=0;$i<4;$i++)
  1. {
  2. $rand.=dechex(rand(1, 15));
  3. }
  4. $_SESSION['check_num']=$rand;
  5. $image=imagecreatetruecolor(50,30);//初めてパレットを使用して、背景色
  6. $te=imagecolorallocate($im,255,255,255)
  7. imagestring($image,6,rand(0,20),$rand,$te); ();//画像「http://localhost/**.php」は、エラーがあり表示できないため検証コードを生成する必要があるため、PHP Webページに表示されます
  8. header("Content-type:image/ jpeg") ; imagejpeg($image);
  9. ?>
  10. コードをコピー
  11. 例 2、画像の干渉ライン コードを描画します。
for($i=0;$i<8;$i++)//複数の線を描画します

{
$cg=imagecolorallocate($im,rand(0,255),rand(0,255) ),rand(0,255));//ランダムな色を生成します
imageline($im,rand(10,40),0,rand(10,40),20,$cg);
    }
  1. コードをコピーします
  2. 例 3、画像上に干渉点を描画するコード:
for($i=0;$i<80;$i++)//複数の点を描画します

{
imagesetpixel($im,rand(0,40),rand( 0, 20),$cg);
}
  1. コードをコピー
  2. 例 4、画像コードにテキストを書き込む:

    1. $str=array('i','i','pro','pro');//ストレージ表示漢字

    2. for($i= 0;$i<4;$i++)
    3. {
    4. $sss.=$str[rand(0,3)];//漢字をランダムに表示
    5. }

    6. //$str = iconv("gb2312","utf-8",$str); //中国語の文字エンコード変換、私の場合は必要ないようです

    7. imagettftext($im,10,0,rand(5,60),rand (5,60) ,$te,"simhei.ttf",$sss);//

    8. コードをコピー

      0: フォントの傾き、"simhei.ttf":フォント スタイル。通常はディレクトリの下のルートに配置されます。

      これで、PHP イメージ検証コードの作成プロセス全体が完了しました。スクリプト エディターは、この記事が gd ライブラリを使用して PHP 検証コードを生成するのに役立つことを願っています。


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