Laravel検証コードライブラリ

韦小宝
韦小宝オリジナル
2017-11-24 09:19:221487ブラウズ

Laravel では多くの画像 検証コード ライブラリが利用可能ですが、この記事ではそのうちの 1 つ Laravel である gregwar/captcha を紹介します。このライブラリは比較的単純で、Laravel でよく使用されます。以下に使用方法の詳細を紹介します:

まず、composer.json に次の設定を追加します:

"require": {
        ...
        "gregwar/captcha": "1.*"
    },

次に、習慣になっているコマンド:

composer update

これで、通常どおりに使用できます。特定の開発ニーズはさまざまな方法で使用できます。

確認コードの画像をファイルとして保存できます:

<?php$builder->save(&#39;out.jpg&#39;);

画像をWebページに直接出力できます:


<?php
header(&#39;Content-type: image/jpeg&#39;);
$builder->output();

インライン画像を生成できます:


<img src="<?php echo $builder->inline(); ?>" />

以下は、使用法の 1 つを示しています。メソッドを使用して、画像を Web ページに直接出力します。

コントローラーを定義します:

<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

// 対応する

名前空間を参照します

use Gregwar\Captcha\CaptchaBuilder;
use Session;

class KitController extends Controller {

   /**
    * Display a listing of the resource.
    *
    * @return Response
    */
   public function captcha($tmp)
   {
       //生成验证码图片的Builder对象,配置相应属性
       $builder = new CaptchaBuilder;
       //可以设置图片宽高及字体
       $builder->build($width = 100, $height = 40, $font = null);
       //获取验证码的内容
       $phrase = $builder->getPhrase();

       //把内容存入session
       Session::flash(&#39;milkcaptcha&#39;, $phrase);
       //生成图片
       header("Cache-Control: no-cache, must-revalidate");
       header(&#39;Content-Type: image/jpeg&#39;);
       $builder->output();
   }
}

以下では、この検証コード イメージにアクセスするために対応するルーターを設定できます。router.php を変更します。

Route::get(&#39;kit/captcha/{tmp}&#39;, &#39;KitController@captcha&#39;);

これで、特定のURLからこの写真にアクセスできます。

検証コード

フォーム内に記述するのは比較的簡単です。見てください:

<input type="text" name="captcha" class="form-control" style="width: 300px;">
<a onclick="javascript:re_captcha();" >
  <img src="{{ URL(&#39;kit/captcha/1&#39;) }}"  alt="验证码" title="刷新图片" 
       width="100" height="40" id="c2c98f0de5a04167a9e427d883690ff6" border="0"/>
</a>
<script>  
  function re_captcha() {
    $url = "{{ URL(&#39;kit/captcha&#39;) }}";
        $url = $url + "/" + Math.random();
        document.getElementById(&#39;c2c98f0de5a04167a9e427d883690ff6&#39;).src=$url;
  }
</script>

最後のステップは、フォーム送信ページで対応する検証コードを検証することです。ライブラリは、対応するメソッドも提供します。

$userInput = $request->get(&#39;captcha&#39;);
if($builder->testPhrase($userInput)) {
    //用户输入验证码正确
    return &#39;您输入验证码正确&#39;;
} else {
    //用户输入验证码错误
    return &#39;您输入验证码错误&#39;;
}

この時点で、確認コードは完成です。上記は

Laravelの検証コードライブラリgregwar/captchaの使用プロセスです。興味がある場合は、PHP中国語ウェブサイトにアクセスして詳細を検索してください~

関連の推奨事項:

Laravel。 mongodbデータベースを使用する方法チュートリアル

LaravelでSMS認証コード送信機能を開発

Laravelでのモデル検証の使用例


以上がLaravel検証コードライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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