ホームページ バックエンド開発 PHPチュートリアル PHP を使用して漢字をサポートする検証コード イメージを生成する方法

PHP を使用して漢字をサポートする検証コード イメージを生成する方法

Sep 13, 2023 pm 12:54 PM
PHP検証コードの画像

PHP を使用して漢字をサポートする検証コード イメージを生成する方法

PHP を使用して中国語の文字をサポートする確認コード イメージを生成する方法

インターネットの発展に伴い、確認コードは Web サイトや Web サイトで一般的なセキュリティ機能になりました。アプリケーションの検証方法。ほとんどの検証コードは通常、英語の文字と数字を使用しますが、場合によっては、中国語の文字をサポートする検証コードを生成する必要があります。ここでは、PHP を使用して漢字をサポートする検証コード イメージを生成する方法と、具体的なコード例を紹介します。

ステップ 1: 中国語の文字セットを準備する
中国語の文字をサポートする検証コード イメージを生成するには、まず中国語の文字セットを準備する必要があります。ニーズに応じて、常用漢字、繁体字、全漢字などの一般的な中国語の文字セットを選択できます。ここでは、配列に格納された一般的に使用される漢字を例として取り上げます。

1

2

3

4

<?php

$chineseChars = array('一', '二', '三', '四', '五', '六', '七', '八', '九', '十',

                      '百', '千', '万', '亿', '天', '地', '王', '赵', '钱', '孙');

?>

ログイン後にコピー

ステップ 2: ランダムな検証コードを生成する
検証コードを生成するプロセスでは、中国語の文字セットから特定の数の文字をランダムに選択する必要があります。ここでは確認コードとして 3 文字を選択します。具体的な実装は次のとおりです。

1

2

3

4

5

6

7

8

<?php

$code = ''; // 验证码初始化为空

 

for ($i = 0; $i < 3; $i++) {

    $index = mt_rand(0, count($chineseChars) - 1);

    $code .= $chineseChars[$index];

}

?>

ログイン後にコピー

ステップ 3: 検証コード イメージの生成
GD ライブラリを使用して検証コード イメージを生成する必要があります。まず、キャンバスを作成し、その幅、高さ、背景色を設定する必要があります。次に、キャンバス上に検証コードのテキストを描画します。最後に、生成された検証コード画像をブラウザに出力、またはファイルとして保存します。具体的なコードは次のとおりです。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<?php

$width = 120; // 画布宽度

$height = 40; // 画布高度

 

// 创建画布

$image = imagecreate($width, $height);

 

// 设置背景颜色

$bgColor = imagecolorallocate($image, 255, 255, 255);

 

// 随机选择一种颜色作为验证码文字颜色

$textColor = imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150));

 

// 绘制验证码文字

$fontFile = 'path/to/chinese_font.ttf'; // 中文字体文件路径

imagettftext($image, 20, 0, 10, 30, $textColor, $fontFile, $code);

 

// 输出验证码图片到浏览器

header('Content-Type: image/png');

imagepng($image);

imagedestroy($image);

?>

ログイン後にコピー

上記のコードでは、imagettftext 関数を使用して検証コード テキストを描画します。この関数では、フォント ファイルのパス、フォント サイズ、テキストの角度、開始座標、テキストの色などのパラメーターを指定する必要があります。

ステップ 4: 確認コード画像を使用する
確認コード画像を生成した後、Web サイトまたはアプリケーションの登録、ログイン、またはパスワード取得ページにそれを表示できます。ユーザーは確認のために確認コードを入力する必要があります。検証コードは次のとおりです。

1

2

3

4

5

6

7

8

9

10

11

12

<?php

session_start();

 

// 存储验证码到Session

$_SESSION['captcha'] = $code;

?>

 

<form action="verify.php" method="post">

    <img src="/static/imghw/default1.png"  data-src="captcha.php"  class="lazy" alt="验证码">

    <input type="text" name="code" placeholder="请输入验证码">

    <button type="submit">提交</button>

</form>

ログイン後にコピー

上記のコードでは、後続の検証プロセスで使用するために、検証コードを $_SESSION に保存します。

概要
PHP を使用して中国語をサポートする検証コード イメージを生成するには、中国語文字セットを準備し、ランダムな検証コードを生成し、GD ライブラリを使用して検証コード イメージを生成し、検証コードを使用する必要があります。検証用のページ上のコード画像。以上の手順で、漢字に対応した認証コード機能を簡単に実装することができます。

以上がPHP を使用して漢字をサポートする検証コード イメージを生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

2025 PHP状況調査の発表 2025 PHP状況調査の発表 Mar 03, 2025 pm 04:20 PM

2025 PHP状況調査の発表

Laravelの通知 Laravelの通知 Mar 04, 2025 am 09:22 AM

Laravelの通知

See all articles