Laravel5.2不帶驗證碼類,使用第三方類

在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)) 設置驗證碼背景圖片

相關文章
相關標籤/搜索