3 つの PHP 中国語検証コードの生成と呼び出しメソッド_PHP チュートリアル
3 つの PHP 中国語検証コードの生成と呼び出しメソッド PHP で中国語の検証コードを生成するには、検証コードの生成とは別の操作を実行する必要があります。GD 関数は UTF8 形式でエンコードされたテキストのみを受け入れるため、PHP を使用して中国語の検証コードを生成する場合は、最初にエンコード変換を実行する必要があります。動作するphpのiconvをインスタンス化できます。
中国語の検証コードの生成とメソッドの呼び出しに関する 3 つの PHP チュートリアル
PHP で中国語の検証コードを生成するには、検証コードの生成とは別の操作を行う必要があります。 gd 関数は UTF8 形式でエンコードされたテキストのみを受け入れるため、PHP を使用して中国語の検証コードを生成する場合は、最初にエンコード変換を実行する必要があります。動作するphpのiconvをインスタンス化できます。
*/
$ch_str="中国語の文字を含む中国語の確認コードを生成したいと考えています";
$str=array();
for ($i=0;$i{
$str[]=$ch_str[$i].$ch_str[$i+1].$ch_str[$i+2];
}
//画像の長さと高さ
$image_x=200;
$image_y=100;
$im = imagecreate($image_x,$image_y);
//ここの写真の背景色は白です
$bkg = imagecolorallocate($im,255,255,255);
// 表示されるフォント スタイル。ファイルを対応するディレクトリに配置する必要があります。ファイルがない場合は、ウィンドウのフォント ファイルを探してください。
$fnt = "simfang.ttf";
//画像に色を割り当てます
$white=imagecolorallocate($im,234,185,95);
//画像上に楕円弧を描き、下側の座標点を指定します
imagearc($im, 150, 8, 20, 20, 75, 170, $white);
imagearc($im, 180, 7,50, 30, 75, 175, $white);
//画像上に線分を描き、下の座標点を指定します
イメージライン($im,20,20,180,30,$white);
イメージライン($im,20,18,170,50,$white);
イメージライン($im,25,50,80,50,$white);
//ランダムなポイントの数
$noise_num=3000;
$line_num=80;
//紛らわしい様々な文字の色
$rectangle_color=imagecolorallocate($im,0xaa,0xaa,0xaa);
$noise_color=imagecolorallocate($im,0x00,0x00,0x00);
$font_color=imagecolorallocate($im,0x00,0x00,0x00);
for($i=0;$i {
// 座標点上に単一のピクセルを描画します。この点は上で定義されており、黒です。
imagesetpixel($im,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color);
}for($i=0;$i {
$image_x=110; $image_y=110; $im = imagecreate($image_x,$image_y); $bkg = imagecolorallocate($im,255,255,255); $fnt = "hb.ttf" //表示されるフォントスタイル
$line_color=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
// 2 つの座標点の間に線を描きます。色は上で定義されています
Imageline($im,mt_rand(0,$image_x),mt_rand(0,$image_y),mt_rand(0,$image_x),mt_rand(0,$image_y),$line_color); }
$randnum=rand(0,count($str)-4);
//偶数にしてください
if ($randnum%2)
{
$randnum+=1; }
$str1=$str[$randnum].$str[$randnum+1];
($i=0;$i {
imagettftext($im, rand(28,32), rand(0,70), rand(($image_x/4)*$i+$image_x/10,($image_x/4)*$i+$image_x/8), rand($image_y/2+$image_y/10,$image_y/2+$image_y/5), $font_color, $fnt, $str[$randnum+$i]); }
imagepng($im);
imagedestroy($im);
//中国語の認証コード 2 を生成します
$str="漢字";; $white=imagecolorallocate($im,234,185,95); imagearc($im, 150, 8, 20, 20, 75, 170, $white); imagearc($im, 180, 7,50, 30, 75, 175, $white); イメージライン($im,20,20,180,30,$white); イメージライン($im,20,18,170,50,$white); イメージライン($im,25,50,80,50,$white); $noise_num=3000; $line_num=80; imagecolorallocate($im,0xff,0xff,0xff); $rectangle_color=imagecolorallocate($im,0xaa,0xaa,0xaa); $noise_color=imagecolorallocate($im,0x00,0x00,0x00); $font_color=imagecolorallocate($im,0x00,0x00,0x00); $line_color=imagecolorallocate($im,0x00,0x00,0x00); for($i=0;$i imagesetpixel($im,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color); for($i=0;$i imageline($im,mt_rand(0,$image_x),mt_rand(0,$image_y),mt_rand(0,$image_x),mt_rand(0,$image_y),$line_color); $randnum=rand(0,strlen($str)-4); if ($randnum%2)$randnum+=1; $str1=substr($str,$randnum,4); $str2 = iconv("gb2312","utf-8",$str1);//$str1 に中国語の文字が含まれていることを確認します
imagettftext($im, rand(28,32), rand(0,70), rand(25,27), rand(70,100), $font_color, $fnt, $str2); 画像png($im); imagedestroy($im);
//配列に漢字を入れます
/*
gd 関数は、utf8 形式でエンコードされたテキストのみを受け入れるため、テキストを書き込む前にエンコード変換を最初に実行する必要があります。 PHP に付属の iconv ライブラリと mbstring ライブラリの両方でこの作業を完了できます
*/$randcode=array('宠');
$codetable=array();
$fp=fopen("gb2312.txt","r");
while($line=fgets($fp))
$codetable[hexdec(substr($line,0,6))]=substr($line,7,6);
fclose($fp);//gb2312转utf8
関数 gb2utf8($gbstr)
{
グローバル $codetable;
if(trim($gbstr)=="")
$gbstr;
を返します $ret="";
$utf8="";
その間($gbstr)
{
if(ord(substr($gbstr,0,1))>127)
{
$thisw=substr($gbstr,0,2);
$gbstr=substr($gbstr,2,strlen($gbstr));
$utf8="";
@$utf8=u2utf8(hexdec($codetable[hexdec(bin2hex($thisw))-0x8080]));
if($utf8!="")
for($i=0;$i$ret.=chr(substr($utf8,$i,3));
}
それ以外
{
$ret.=substr($gbstr,0,1);
$gbstr=substr($gbstr,1,strlen($gbstr));
}
}
$ret を返します;
}
//ユニコード转utf8
関数u2utf8($c)
{
$str="";
if($c $str.=$c;
elseif($c {
$str.=(0xc0|$c>>6);
$str.=(0x80|$c&0x3f);
}
elseif($c {
$str.=(0xe0|$c>>12);
$str.=(0x80|$c>>6&0x3f);
$str.=(0x80|$c&0x3f);
}
elseif($c {
$str.=(0xf0|$c>>18);
$str.=(0x80|$c>>12&0x3f);
$str.=(0x80|$c>>6&0x3f);
$str.=(0x80|$c&0x3f);
}
$str;
を返します }//生成付加符号
関数 create_excode($length)
{
グローバル $rancode;
header("コンテンツタイプ: 画像/png");
$image_x=$length*30; //写真宽度
$image_y=40; //写真の高さ
$noise_num=80*$length; // ポイント数
$line_num=$length-2; //干扰ライン数
$image=imagecreate($image_x,$image_y);
imagecolorallocate($image,0xff,0xff,0xff); //設定背景颜色
$rectangle_color=imagecolorallocate($image,0xaa,0xaa,0xaa); //边框颜色
$noise_color=imagecolorallocate($image,0x00,0x00,0x00); //杂点颜色
$font_color=imagecolorallocate($image,0x00,0x00,0x00); //字体颜色
$line_color=imagecolorallocate($image,0x33,0x33,0x33); //干扰線颜色// 杂点を追加します
for($i=0;$i imagesetpixel($image,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color);$font_face="simkai.ttf"; //フォント
$x=2;
$session_code='';
for($i=0;$i {
$code=$randcode[mt_rand(0,count($randcode)-1)];
Imagettftext($image,18,mt_rand(-6,6),$x,29,$font_color,$font_face,gb2utf8($code));
$x+=30;
$session_code.=$code;
}
@session_start();
$_session['excode']=$session_code; //追加コードの値をセッションに入れます
//干渉線を追加
for($i=0;$i イメージライン($image,mt_rand(0,$image_x),mt_rand(0,$image_y),
mt_rand(0,$image_x),mt_rand(0,$image_y),$line_color);
imagerectangle($image,0,0,$image_x-1,$image_y-1,$rectangle_color); //境界線を追加します
imagepng($image);
imagedestroy($image);
}
create_excode(6);
// 使用する場合は、HTML 構文を使用します: を呼び出すだけです。サーバー側で検証を行う場合は、セッションに保存されている検証文字と、セッションによって送信された文字を比較します。ユーザーが同じ場合、検証済みです

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
