下载第三方类文件
这里给个云盘链接,提取码:udzr
https://pan.baidu.com/s/1P8AvJLACI0NcP2IcP6YQBA
将文件压缩到项目的vendor文件夹下。
在公共文件写入方法。(注:app下的common.php)
function createQRcode($url,$flag=0){
vendor("phpqrcode.phpqrcode");
// 纠错级别:L、M、Q、H
$level = 'L';
// 点的大小:1到10,用于手机端4就可以了
$size = 4;
if($flag){
$path = "Public/QRcode/";
if(!file_exists($path)){
mkdir($path, 0700,true);
}
// 生成的文件名
$fileName = $path.time().'.png';//时间戳命名
QRcode::png($url, $fileName, $level, $size);
return $fileName;
}else{
QRcode::png($url, false, $level, $size);//不保存,直接显示二维码
exit;
}
}
这里使用两种显示二维码方法
1-在控制器调用然后渲染到视图
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index()
{
$fileName = createQRcode("https://www.baidu.com",1);
$this->assign('path',$fileName);
return $this->fetch();
}
}
在视图中
<img src="{$path}" />
2-在视图直接调用方法
<a href="{:createQRcode('https://www.baidu.com','1')}">百度</a>