ThinkPHP5.0集成QRCode生成二维码
在项目根目录 composer 安装 QRCode
composer require endroid/qrcode
注意类库要改一个地方
路径:你的项目路径/vendor/endroid/qrcode/src/QrCode.php
const LABEL_FONT_PATH_DEFAULT = __DIR__.'/../assets/noto_sans.otf';
改成
const LABEL_FONT_PATH_DEFAULT = '';
控制器代码
<?php
/**
* Pasa吴
*/
namespace app\admin\controller;
use app\common\controller\AdminBase;
use Endroid\QrCode\QrCode;
class Feedback extends AdminBase
{
/**
* 生成指定网址的二维码
* @param string $url 二维码中所代表的网址
* @param string $label 标签参数
*/
public function index($url='https://www.baidu.com',$label="标签")
{
$qrCode = new QrCode();
$qrCode->setText($url)
->setSize(300)//大小
->setLabelFontPath(VENDOR_PATH.'endroid\qrcode\assets\noto_sans.otf')
->setErrorCorrectionLevel('high')
->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))
->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))
->setLabel($label)
->setLabelFontSize(16);
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();
exit;
//使用方法
//在模板文件中使用<img src="{:url('index/qrcode/create_qrcode')}">
}
}
使用方法1
你的域名/admin/feedback/index/url/www.baidu.com/label/标签
使用方法2
在模板里面
<a target="_blank" href="{:url('admin/feedback/index',['url'=>'www.baidu.com','label'=>'标签'])}">
<img src="{:url('admin/feedback/index',['url'=>'www.baidu.com','label'=>'标签'])}">
</a>
本文为Pasa吴原创文章,转载无需和我联系,但请注明来自Pasa吴博客https://www.pasawu.top
最新评论