久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

laravel5.4生成驗證碼的代碼

這篇文章主要為大家詳細介紹了laravel5.4生成驗證碼的相關代碼,使用gregwar和captcha實現驗證碼的具體步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本篇博客介紹使用gregwar/captcha實現驗證碼的具體操作步驟,以及可能遇到的問題和解決辦法。

操作步驟:

1.在laravel5.4項目根目錄下找到 composer.json 這個文件,

laravel5.4生成驗證碼的代碼

添加 "gregwar/captcha": "dev-master" 和 "Gregwar\\Captcha\\": "vendor/Captcha/" 到composer.json文件中,如下圖所示,

laravel5.4生成驗證碼的代碼

接下來,在項目根目錄執行composer update,然后再執行composerdump-autoload 命令。

第二種方法:

添加

"gregwar/captcha": "1.*" 到composer.json這個文件中,如下圖所示。

laravel5.4生成驗證碼的代碼

2. 然后打開命令行,找到項目的根目錄,運行composer update,

laravel5.4生成驗證碼的代碼

可以看到這個擴展庫已經下載好了,

3.接下來,就可以正常使用驗證碼了,

先定義路由:

laravel5.4生成驗證碼的代碼

接下來,介紹兩種顯示驗證碼的情況:

一、直接在網頁上輸出驗證碼圖片

在控制層里新建一個codeController.php,1 <?php2 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'); //把驗證碼數據以jpeg圖片的格式輸出
  }

}

然后在瀏覽器里訪問之前定義好的路由,直接訪問這個方法,就能看到輸出的驗證碼了

laravel5.4生成驗證碼的代碼

第二種方法:在表單里顯示驗證碼,把上面該文件路徑寫到<img>標簽的src屬性中,

laravel5.4生成驗證碼的代碼

顯示如下:

laravel5.4生成驗證碼的代碼

這里有兩個問題需要注意,照著下面的方法去直接輸出驗證碼,你會發現驗證碼顯示不出來,反而是一堆亂碼,

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();
}

laravel5.4生成驗證碼的代碼

輸出一下$phrase,發現驗證碼內容已經獲取到了,是圖片生成部分出的問題,

// header("Cache-Control: no-cache, must-revalidate"); 這行代碼的作用是清除緩存,防止出現驗證碼不能刷新或顯示不出來的情況,但是并沒有起作用,改用 ob_clean(); 去清除瀏覽器緩存。[/code]

然后是

header('Content-Type: image/jpeg');
$builder->output();

這兩句話的問題,

$builder->output();

返回的只是驗證碼圖片的一些信息,并不是一張圖片,所以當把它直接輸出時,出來的并不是一張圖片。

只有這樣寫

$buildGer->output()->header('Content-type','image/jpeg')

直接輸出的時候,才會以圖片的形式直接輸出驗證碼。[/code]

當把它放到<img>的src屬性中,<img>標簽會自動以圖片的格式輸出它,也就是說

header('Content-type','image/jpeg')

這時候這句話是沒必要的,所以不管是

$buildGer->output())->header('Content-type','image/jpeg')

這樣寫,還是

header('Content-Type: image/jpeg');$builder->output();

這樣寫,結果都會顯示驗證碼圖片。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

下面小編就為大家分享一篇laravel ORM 只開啟created_at的幾種方法總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要給大家介紹了如何通過源碼解析Laravel的依賴注入的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于Laravel中unique和exists驗證規則的優化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面
最近在使用laravel5.5,利用其實現了一個功能,下面分享給大家,這篇文章主要給大家介紹了關于Laravel 5.5基于內置的Auth模塊如何實現前后臺登陸的相關資料,文中通過示例代碼介紹的非
laravel 的隊列服務對各種不同的后臺隊列服務提供了統一的 API,下面這篇文章通過源碼分析給大家介紹了關于 Laravel 重復執行同一個隊列任務的原因,文中通過示例代碼介紹的非常詳細
這篇文章主要給大家介紹了關于 Laravel Redis 多個進程同時取隊列問題的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友下面來
主站蜘蛛池模板: 视频在线一区二区 | 欧美福利 | 色婷婷综合久久久中字幕精品久久 | 麻豆久久久9性大片 | 久久久久九九九九 | av一区在线观看 | 欧美国产日韩在线观看 | 在线欧美小视频 | 婷婷综合在线 | 国产一级淫片a直接免费看 免费a网站 | 免费观看一级视频 | 日韩欧美在线一区 | 一区二区三区影院 | 天天躁日日躁狠狠很躁 | 欧美色综合一区二区三区 | 国产精品国产a级 | 久久久精品一区 | 久久精品欧美一区二区三区不卡 | 国产黄色电影 | 亚洲在线一区 | 黄色av网站在线观看 | 成人国产在线视频 | 精品国产一区二区三区日日嗨 | 日本中文字幕日韩精品免费 | 日韩欧美精品 | 精品中文字幕一区二区三区 | 日韩在线中文字幕 | 一区二区三区av | 一区二区三区视频在线免费观看 | 91欧美精品成人综合在线观看 | 国产一级在线 | 日本精品视频一区二区三区四区 | 亚洲人成人一区二区在线观看 | 韩日在线视频 | 国产精品av久久久久久久久久 | av超碰 | 成人性视频免费网站 | 国产成人在线播放 | 91精品国产一区二区在线观看 | 日本免费视频在线观看 | 欧美淫片 |