PHP图形验证码的具体实现方法
我们现在在网站注册等地方经常会见到需要你输入验证码的请款,它就是将随机数字或符号以图片的形式展现在用户面前,并提供验证后才能使用相关功能。今天我们就介绍具体实现代码如下:
<ol class="dp-xml"> <li class="alt"><span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">php</span></font></strong><span> </span></span></li> <li class=""><span> </span></li> <li class="alt"><span>class rndnum{ </span></li> <li class=""><span> </span></li> <li class="alt"><span>function rnd(){ </span></li> <li class=""><span>srand((double)microtime()*1000000); </span></li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">rnd_number</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">array</font></span><span>( </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">1</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'1', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">2</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'2', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">3</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'3', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">4</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'4', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">5</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'5', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">6</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'6', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">7</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'7', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">8</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'8', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">9</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'9', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">10</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'a', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">11</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'b', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">12</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'c', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">13</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'d', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">14</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'e', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">15</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'f', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">16</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'g', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">17</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'h', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">18</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'i', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">19</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'j', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">20</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'k', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">21</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'l', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">22</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'m', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">23</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'n', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">24</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'o', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">25</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'p', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">26</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'q', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">27</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'r', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">28</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'s', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">29</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'t', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">30</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'u', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">31</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'v', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">32</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'w', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">33</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'x', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">34</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'y', </span> </li> <li class=""> <span></span><span class="attribute"><font color="#ff0000">35</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'z', </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">36</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'0' </span> </li> <li class=""><span>); </span></li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">result</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">array_rand</font></span><span>($rnd_number,6); </span> </li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">j</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">count</font></span><span>($result); </span> </li> <li class="alt"> <span>for ($</span><span class="attribute"><font color="#ff0000">i</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">0</font></span><span>;$i</span><span class="tag"><strong><font color="#006699"></font></strong></span><span>$j;$i++) { </span> </li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">re.</font></span><span>=$rnd_number[$result[$i]]; </span> </li> <li class="alt"><span>} </span></li> <li class=""> <span>//$</span><span class="attribute"><font color="#ff0000">re</font></span><span>=$rnd_number[$result[1]].$rnd_number[$result[2]].$rnd_number[$result[3]].$rnd_number[$result[4]].$rnd_number[$result[5]].$rnd_number[$result[6]].$rnd_number[$result[7]]; </span> </li> <li class="alt"><span>//return array_keys($result); </span></li> <li class=""><span>return $re; </span></li> <li class="alt"><span>} </span></li> <li class=""><span>} </span></li> <li class="alt"><span>/*用法 </span></li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">rndnum</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">new</font></span><span> rndnum(); </span> </li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">num</font></span><span>=$rndnum-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>rnd(); </span> </li> <li class=""><span>echo $num; </span></li> <li class="alt"><span>*/ </span></li> <li class=""> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span> </li> </ol>
生成PHP图形验证码的图片,将随机数填充到里边:
<ol class="dp-xml"> <li class="alt"><span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">php</span></font></strong><span> </span></span></li> <li class=""><span> </span></li> <li class="alt"><span>Header("Content-type: image/PNG"); </span></li> <li class=""><span>require_once("rndnum.php"); </span></li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">rndnum</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">new</font></span><span> rndnum(); </span> </li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">authnum</font></span><span>=$rndnum-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>rnd(); </span> </li> <li class="alt"><span>session_start(); </span></li> <li class=""><span>$_SESSION["extrra_code"]=$authnum; </span></li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">im</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">imagecreate</font></span><span>(72,20); </span> </li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">black</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">ImageColorAllocate</font></span><span>($im, 0,0,0); </span> </li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">white</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">ImageColorAllocate</font></span><span>($im, 255,255,255); </span> </li> <li class=""> <span>$</span><span class="attribute"><font color="#ff0000">gray</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">ImageColorAllocate</font></span><span>($im, 200,200,200); </span> </li> <li class="alt"><span>imagefill($im,0,0,$gray); </span></li> <li class=""><span>imagestring($im,5,10,3,$authnum,$black); </span></li> <li class="alt"> <span>for($</span><span class="attribute"><font color="#ff0000">i</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">0</font></span><span>;$i</span><strong><font color="#006699"><span class="tag"><span class="tag-name">200</span></span></font></strong><span>;$i++) //加入干扰象素 </span> </li> <li class=""><span>{ </span></li> <li class="alt"> <span> $</span><span class="attribute"><font color="#ff0000">randcolor</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">ImageColorallocate</font></span><span>($im,rand(0,255),rand(0,255),rand(0,255)); </span> </li> <li class=""><span> imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); </span></li> <li class="alt"><span>} </span></li> <li class=""><span>ImagePNG($im); </span></li> <li class="alt"><span>ImageDestroy($im); </span></li> <li class=""> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span> </li> </ol>
以上就是全部PHP图形验证码的实现代码,希望对大家有所帮助。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の 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 にアップグレードする方法について説明します。

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

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

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

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

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