ホームページ  >  記事  >  バックエンド開発  >  php5画像検証コードのサンプルコード

php5画像検証コードのサンプルコード

WBOY
WBOYオリジナル
2016-07-25 08:55:111026ブラウズ
  1. header("Content-type:image/jpeg")
コードをコピー

GDライブラリに対応する画像タイプがあります imagejpeg()、imagegif()、imagepang()

5、イメージライン線画機能 iamgeline(リソース画像,int x1,int y1,int x2,int y2,int color); 画像 ---画像 x1 ---開始座標 y1 x2 ---終点座標 y2

6、imagesetpixel描画点関数 imagesetpixel(リソース画像,int x,int y,int color)

7、imagettfフォントによるテキスト書き込み機能 imagettftext(リソース画像,floatサイズ,float角度,int x,int y,int color,string fontfile,string text)

8.中国語のPHP認証コードを挿入する方法 iconv("gb2312","utf-8","string"); //まずテキストをutf-8形式に変換します

9、ランダム関数 1, rand([int min,int max]) //rand(1,4) は 1 から 4 までの数値を生成します 2, dechex (10 進数) //16 進数に変換します

上記では、PHP の gd ライブラリ関数の一般的な方法と、PHP 検証コードに中国語を挿入する方法を紹介しました。PHP 検証コードで中国語を表示する問題については、PHP 中国語文字検証を参照してください。この記事の前に紹介したコード(例)です。

さらに、興味のある友人は、PHP ランダム検証コードと PHP 画像検証コードの実装方法を勉強することもできます。これは、今日の例を理解するのに非常に役立ちます。

PHP で確認コードを生成する手順: 乱数を生成 - 画像を作成 - 乱数を画像に書き込み - セッションに保存。

1. 認証コードを入力します。 gdchek.php

  1. /*
  2. * イメージ検証コード
  3. * を生成し、エディターでテンプレートを開きます
  4. */
  5. session_start(); $i++){
  6. $rand.=dechex(rand(1,15)); //16 進数を含む 4 桁の乱数を生成します
  7. }
  8. $_SESSION[check_gd]=$rand;
  9. $img=imagecreatetruecolor; 30); //画像を作成します
  10. $bg=imagecolorallocate($img,0,0,0) //初回の背景色生成
  11. $fc=imagecolorallocate($img,255,255,255); color
  12. //絵に線を描く
  13. for($i=0;$i<3;$i++){
  14. $te=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255 )) ;
  15. imageline($img,rand(0,15),0,100,30,$te);
  16. //画像上にいくつかの点を描画します
  17. for($i=0;$i<200;$i++){
  18. $te=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
  19. imagesetpixel($img,rand()%100,rand()%30,$te); //まず、テキストを utf-8 形式に変換します
  20. //$str=iconv("gb2312","utf-8","Hehehe")
  21. //中国語の検証を追加します bbs.it-home.org
  22. / /smkai.ttf はフォント ファイルです。他の人のコンピュータでフォントとして使用するには、このファイルをプロジェクトのルート ディレクトリに置き、C:WINDOWSFonts に
  23. imagettftext($img) もあります。 this machine ,11,10,20,20,$fc,"simkai.ttf","Hello Hello");
  24. //画像に文字列を書き込みます
  25. //imagestring($img,rand(1,6) , rand(3,70),rand(3,16),$rand,$fc);
  26. //出力画像
  27. imagejpeg($img); ;
  28. コードをコピー
  29. 2、ログインページlogin.php

/*

* ログインを確認、認証コードを使用
*/
    session_start();
  1. if($_POST[sub]){
  2. //認証コードが同じかどうかを判定
  3. if ($_POST[gd_pic]==$_SESSION[check_gd]){
  4. echo "検証成功!";
  5. }else{
  6. echo "検証コードエラー"
  7. }
  8. ?>
  9. <フォームアクション=" login.php" メソッド="POST">
  10. ユーザー名:
  11. パスワード:
  12. 検証コード:
  13. <入力タイプ= "送信" name="sub" value="送信"/>
  14. コードをコピー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。