网上生成二维码图片的方法不少,可是通常都是生成一个页面,页面内有一个二维码。可是实际需求每每不是这样的,须要将二维码放在页面某个位置。这就须要有一个方法获取图片。php
方法一:缓冲区函数的使用。缓存
ob_start();
ob_get_contents()
ob_end_clean();
二维码生成的公共方法以下:函数
使用了qrcode类库。还进行了编码转换。编码
function makeQRcode($txt=""){ Vendor('phpqrcode.phpqrcode'); ob_start(); //生成二维码图片 $object = new \QRcode(); $level=3; $size=2; $errorCorrectionLevel =intval($level) ;//容错级别 $matrixPointSize = intval($size);//生成图片大小 $object->png($txt,false , $errorCorrectionLevel, $matrixPointSize, 2); $imageString = base64_encode(ob_get_contents()); ob_end_clean(); return $imageString; }
页面图片调用:.net
<img src="data:image/png;base64,{$vo['qrcode_sn']}" alt=""/>
方法二:code
查了官方的手册:http://phpqrcode.sourceforge.net/图片
方法中没有再用缓存区:get
public function qrcode(){ $content=I('get.content'); Vendor('phpqrcode.phpqrcode'); //生成二维码图片 $object = new \QRcode(); $level=3; $size=2; $errorCorrectionLevel =intval($level) ;//容错级别 $matrixPointSize = intval($size);//生成图片大小 $object->png($content,false,$errorCorrectionLevel,$matrixPointSize,2,true); }
图片调用:io
<img src="{:U('Common/qrcode',array('content'=>$vo['qrcode_sn']))}" alt=""/>
就这么多了。base64