Il existe de nombreuses bibliothèques d'images codes de vérification disponibles dans Laravel Cet article présente l'une d'entre elles Laravel : gregwar/captcha. , plus couramment utilisé dans Laravel. Présentons les détails d'utilisation ci-dessous :
Tout d'abord, ajoutez la configuration suivante à composer.json :
"require": { ... "gregwar/captcha": "1.*" },
Ensuite, c'est fait. commandes :
composer update
Ensuite, vous pouvez l'utiliser normalement. Il existe de nombreuses façons de l'utiliser en fonction des besoins spécifiques de développement.
Vous pouvez enregistrer l'image du code de vérification sous forme de fichier :
<?php$builder->save('out.jpg');
Vous pouvez directement afficher l'image sur la page Web :
<?php header('Content-type: image/jpeg'); $builder->output();
Vous pouvez générer des images en ligne :
<img src="<?php echo $builder->inline(); ?>" />
Ce qui suit montre l'une des méthodes d'utilisation, qui génère directement des images sur la page Web.
Définir un contrôleur :
<?php namespace App\Http\Controllers; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request;
//Référencer l'espace de noms correspondant
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('milkcaptcha', $phrase); //生成图片 header("Cache-Control: no-cache, must-revalidate"); header('Content-Type: image/jpeg'); $builder->output(); } }
Ci-dessous, nous pouvons définir le routeur correspondant accède à cette image de code de vérification, modifiez router.php :
Route::get('kit/captcha/{tmp}', 'KitController@captcha');
Vous pouvez désormais accéder et voir cette image via l'URL spécifique.
Code de vérification
Il est relativement simple à écrire à l'intérieur du formulaire, il suffit d'y jeter un oeil :
<input type="text" name="captcha" class="form-control" style="width: 300px;"> <a onclick="javascript:re_captcha();" > <img src="{{ URL('kit/captcha/1') }}" alt="验证码" title="刷新图片" width="100" height="40" id="c2c98f0de5a04167a9e427d883690ff6" border="0"/> </a> <script> function re_captcha() { $url = "{{ URL('kit/captcha') }}"; $url = $url + "/" + Math.random(); document.getElementById('c2c98f0de5a04167a9e427d883690ff6').src=$url; } </script>
Enfin, vérifiez le code de vérification correspondant sur la page de soumission du formulaire , et la bibliothèque est également Nous fournissons les méthodes correspondantes :
$userInput = $request->get('captcha'); if($builder->testPhrase($userInput)) { //用户输入验证码正确 return '您输入验证码正确'; } else { //用户输入验证码错误 return '您输入验证码错误'; }
À ce stade, le code de vérification est terminé. Ce qui précède est le processus d'utilisation de la bibliothèque de codes de vérification gregwar/captcha de Laravel. Si vous êtes intéressé, accédez au site Web PHP chinois pour en rechercher plus~
<.> Recommandations associées :
Tutoriel Laravel sur l'utilisation de la base de données MongoDB
Laravel Développer la fonction d'envoi de code de vérification SMS dans
Exemples d'utilisation de la validation de modèle dans Laravel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!