インターネットの急速な発展により、検証コードは、ウェブサイトやアプリケーションで広く使用されている安全な認証方法になりました。従来の検証コードは主に英語のキャラクターと数字を使用していますが、漢字をサポートする検証コードが必要になる場合があります。この記事では、PHPを使用して漢字をサポートし、特定のコードの例を提供する検証コード写真を生成する方法を詳細に紹介します。
<?php
$chineseChars = array('1つ', '二', '三つ', '4', '五', '六', 'セブン', '八', '九', '10', '百', '千', '万', '1億', '空', '土地', '王', 'Zhao', 'お金', '太陽');
?>
<?php
$code = ''; // 検証コードは空に初期化されます
for ($i = 0; $i < 3; $i++) {
$index = mt_rand(0, count($chineseChars) - 1); // 文字をランダムに選択します
$code .= $chineseChars[$index]; // スプライスされた文字
}
?>
<?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);
?>
<?php
session_start();
// 確認コードを保存しますSession
$_SESSION['captcha'] = $code;
?>
次に、検証コードイメージをHTMLフォームに埋め込み、検証のために検証コードを入力できるようにします。
<form action="verify.php" method="post">
<input type="text" name="code" placeholder="確認コードを入力してください">
<button type="submit">提出する</button>
</form>