Stories

Detail Return Return

Yii 實現生成二維碼 - Stories Detail

一:安裝QrCode

comspoer require 2amigos/qrcode-library

二:QrCode配置

當我們安裝完QrCode之後,在Yii的配置文件中進行如下配置:

'components' => [
        'qrcode' => [
            'class' => '\Da\QrCode\Component\QrCodeComponent',
        ]
    ],

三:使用QrCode

1:生成二維碼

$qrcode = Yii::$app->get('qrcode');  //這裏獲取的qrcode項為你配置文件中配置的QrCode的參數
Yii::$app->response->format = Response::FORMAT_RAW;
Yii::$app->response->headers->add('Content-Type', $qrcode ->getContentType());
return $qrcode
    ->setText('https://2amigos.us') //設置掃碼二維碼之後的顯示信息,如果為鏈接的話,掃描二維碼跳轉至指定的鏈接
    ->setLabel('2amigos consulting group llc')  //設置二維碼標籤
    ->writeString(); //輸出二維碼

根據如上代碼就可以直接在瀏覽器上顯示二維碼

如果你想要將上面的二維碼渲染到指定頁面上的話,只需要在指定頁面上使用如下代碼即可:

<img src="<?= \yii\helpers\Url::to(['qrcode']) ?>" alt=""> #\yii\helpers\Url::to(['qrcode'])表示你二維碼生成的方法地址

2:將二維碼生成並保存起來

$qrcode = Yii::$app->get('qrcode');  //這裏獲取的qrcode項為你配置文件中配置的QrCode的參數
Yii::$app->response->format = Response::FORMAT_RAW;
Yii::$app->response->headers->add('Content-Type', $qrcode ->getContentType());
$fileName = Yii::getAlias('@webroot/qrcode/') . time() . '.png';//保存的二維碼位置
return $qrcode
    ->setText('https://2amigos.us') //設置掃碼二維碼之後的顯示信息,如果為鏈接的話,掃描二維碼跳轉至指定的鏈接
    ->setLabel('2amigos consulting group llc')  //設置二維碼標籤
    ->writeFile($fileName);//將生成的二維碼保存起來

執行上面的代碼就可以在指定目錄下生成一個我們需要的二維碼

使用qrcode的一些常用參數:

setErrorCorrectionLevel #設置容錯等級(容錯等級,分為L、M、Q、H四級) 例:setErrorCorrectionLevel(ErrorCorrectionLevelInterface::HIGH)
useLogo #在二維碼上加上logo,useLogo方法內參數為logo的地址
setLogoWidth #設置logo的寬度
setSize #設置二維碼大小
user avatar euphoria Avatar
Favorites 1 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.