在laravel5中默認是沒有提供驗證碼的,這裏咱們須要使用第三方提供的庫:gregwar/captchaphp
經過composer安裝:laravel
在composer.json的require中加入"gregwar/captcha": "dev-master",具體代碼以下git
"require": { "laravel/framework": "5.0.*", "gregwar/captcha": "dev-master" },
而後運行:php composer.phar update命令github
去github下載:json
下載後將包放至vendor下目錄結構以下,以後在composer.json文件中加入自動加載:session
"autoload": { "classmap": [ "database" ], "psr-4": { "WangDong\\": "app/", "Gregwar\\Captcha\\": "vendor/Captcha/" } },
而後運行composer的dump-autoload命令app
在項目中使用composer
<?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('milkcaptcha', $phrase); //生成圖片 header("Cache-Control: no-cache, must-revalidate"); header('Content-Type: image/jpeg'); $builder->output(); } }
API方法:字體
1.getPhrase() 取得驗證碼的值ui
2.build($width = 150, $height = 40, $font = null)
根據給定的大小和字體建立驗證碼
3.save($filename, $quality = 80),
把驗證碼存入到一個給定的文件
$builder->save('out.jpg');
4.output($quality = 80),輸出驗證碼到頁面
5.setBackgroundColor($r, $g, $b), 設置驗證碼背景顏色
6.setBackgroundImages(array($imagepath1, $imagePath2)) 設置驗證碼背景圖片