第一种是 生成bese64位字符串 好处就是不用存储直接接口返回能用
代码如下
public function base64($url){
$level = 'L';// 纠错级别:L、M、Q、H
$size = 6;// 点的大小:1到10,用于手机端4就可以了
$QRcode = new \QRcode();
ob_start();
$QRcode->png($url,false,$level,$size);
$imageString = base64_encode(ob_get_contents());
ob_end_clean();
return $imageString;
}
第二种是 生成图片并保存图片 返回图片路径 自我感觉不太行 可是前台硬要我生成图片路径emm
代码如下
public function generateQrCode($url, $path = 'uploads/qrcode/',$prefix = null){
/* 若目录不存在则创建之 */
$path = $path . date('Ymd');
if (!is_dir($path)) {
mkdir(iconv("UTF-8", "GBK", $path),0777,true);
}
vendor("phpqrcode.phpqrcode");
$QRcode = new \QRcode();
/* 二维码内容 */
/* 纠错级别:L、M、Q、H */
$level = 'L';
/* // 点的大小:1到10,用于手机端4就可以了 */
$size = 4;
/* // 下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false */
$qrcode = time().rand(100,999);
$QR_path = $path . '/' . $qrcode . ".png";
/* // QRcode::png($text,$filename,$level,$size,$padding,$saveandprint); */
$QRcode->png($url, $QR_path, 'L', '6', '2', true);
return $QR_path;
}