一、在本地结合ThinkPHP使用PHPQRCODE生成二维码
将phpqrcode文件夹放到ThinkPHP/Extend/Vendor目录
<pre name="code" class="html"> vendor("phpqrcode.phpqrcode");
$data = 'http://www.google.com';
// 纠错级别:L、M、Q、H
$level = 'L';
// 点的大小:1到10,用于手机端4就可以了
$size = 4;
// 下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false
//$path = "images/";
// 生成的文件名
//$fileName = $path.$size.'.png';
QRcode::png($data, false, $level, $size);
二 、在SAE上使用PHPQRCODE生成二维码保存到Storage当中
在使用中发现直接用$savepath="saestor://images/img.png“无法在sae的storage中保存二维码
原因是: imagegif不支持Wrapper,即$savepath="saestor://images/img.png",因此,这个时候就不适应了。
需要写到缓冲区ob_start();再通过saestorage写入stor
解决方法:修改phpqrcode/qrimage.php文件中生成png图片的地方QRimage::png()函数中ImagePng($image, $filename);替换成
$s = new SaeStorage();
ob_start();
ImagePng($image);
$imgstr = ob_get_contents();
$s->write('images',$filename,$imgstr);//存放到images目录(Domain Name)下
ob_end_clean();
即可将二维码图片保存到Storage下的images目录下