요약: 이 블로그에서는 gregwar/captcha를 사용하여 인증 코드를 구현하는 구체적인 단계와 가능한 문제 및 해결 방법을 소개합니다.
작업 단계:
1. laravel5.4 프로젝트 루트 디렉터리에서 작곡가.json 파일을 찾습니다.
2. 그런 다음 명령줄을 열고 프로젝트의 루트 디렉터리를 찾아 작곡가 업데이트를 실행하면
확장 라이브러리가 다운로드된 것을 볼 수 있습니다.
3. 다음으로, 정상적으로 작동합니다. 인증 코드를 사용한 후 먼저 인증 코드가 정상적으로 표시되는지 테스트합니다.
먼저 경로를 정의합니다:
그런 다음 제어 레이어에 새 codeController.php를 만듭니다.
<?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 CodeController extends Controller{ public function captcha($temp) { $builder = new CaptchaBuilder(); $builder->build(150,32); $phrase = $builder->getPhrase(); //把内容存入session Session::flash('milkcaptcha', $phrase); //存储验证码 ob_clean(); return response($builder->output())->header('Content-type','image/jpeg'); } }
또, Composer.json,
에 이렇게 작성하거나, 프로젝트 루트 디렉터리에서 Composer update를 실행한 뒤, Composer dump-autoload 명령어를 실행할 수도 있습니다.
동일한 효과를 얻을 수 있습니다.
마지막으로 제가 겪은 문제에 대해 말씀드리겠습니다. 인터넷에서 라라벨 인증코드 생성 사진은 이렇게 많이 써져 있는데,
public function code($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(); }
해봤는데 인증코드 사진에 문자가 깨져서 나오네요. 아래와 같이 사진이 표시되지 않았습니다.
나중에 이렇게 작성하면
public function captcha($temp) { $builder = new CaptchaBuilder(); $builder->build(150,32); $phrase = $builder->getPhrase(); //把内容存入session Session::flash('milkcaptcha', $phrase); //存储验证码 ob_clean(); return response($builder->output())->header('Content-type','image/jpeg'); }
가 정상적으로 표시되도록 변경했습니다.
이 기사는 http://www.cnblogs.com/zbokett/p/7287235.html
에서 재인쇄되었습니다.위 내용은 laravel5.4에서 인증 코드를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!