只需要几个步骤,即可生成二维码,轻松实现扫描分享的功能。本文章主要讲述phpqrcode在thinkphp引入扩展的方法以及使用phpqrcode生成二维码并保存图片。废话不多说,直接上逻辑:
下载本文章的附件,解压放置到项目根目录下的Thinkphp核心包中,具体位置为:game\ThinkPHP\Library\Vendor\phpqrcode\phpqrcode.php(还有另外一种别的引用扩展类的方法);
在Controller对象的方法中直接引用该扩展类,然后生成并保存图片到目录文件,接着输出页面,在页面用引入图片路径即可,这里需要说明,目录路径一定要正确,不然会导致无法写入文件
public function invite($code){
if(!$code){
$this->error("参数错误!",U('login'));
}else{
//$code=think_decrypt($code,C('ZHANGXIAO'));
$headimg=M('wechat_user')->where("unionid='$code'")->field('headimgurl')->find();
if(empty($headimg)){
$this->error("参数非法!",U('login'));
}else{
$headimg=$headimg['headimgurl'];
}
$this->assign("headimg",$headimg);
$url = "http://".$_SERVER['HTTP_HOST'].U("User/wxlogin?code=".$code);
$file="Uploads/qrcode/".$code.".png";
if(!is_file($file)){
vendor("phpqrcode.phpqrcode");
$level = 'L';
$size = 4;
\QRcode::png($url, $file, $level, $size);
}
$this->assign("file",$file);
$this->display();
}
}
以上功能基于thinkphp3.2开发,如其他版本,其使用对应的引入方法。另外如果是原生php,那么则会更加简单,直接在使用的文件头部require一下,然后执行对应png方法即可。对了,官方扩展包下载下来的有一堆不常用的扩展库,全部干掉只保留这一个即可,精简实用。