多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 第一步,获取Token 获取Token比较简单,代码如下: ~~~ $appid='';//填你自己的 $secret='';//填你自己的 $url ="https://api.weixin.qq.com/cgi-bin/token?appid=".$appid."&secret=".$secret."&grant_type=client_credential"; $result=file_get_contents($url); $tokenAy=json_decode($result,true); $token=$tokenAy['access_token']; ~~~ ## 第二步,获取小程序专属二维码 $url是获取小程序专属二维码,菊花形的 $url2是获取普通二维码的 以上两种二维码根据自己的需要选择$url或$url2 小程序二维码的其他生成参数,请见官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/qrcode.html ~~~ $url='https://api.weixin.qq.com/wxa/getwxacode?access_token='.$token; $url2='https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token='.$token; $post_data = json_encode(array ("path" => 'aman')); $result=$this->http_post($url,$post_data);//http_post的代码见下面 ~~~ 上面我用到一个curl的Post小函数http_post: ~~~ function http_post($url,$data){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $output = curl_exec($ch); curl_close($ch); return $output; } ~~~ ## 第三步:保存二维码到本地服务器 上面第二步执行后微信会返回一个二维码,但这个是二进制的数据,而不是图片的URL,所以我们可以自己将这个二进制数据保存成图片格式,代码如下: ~~~ $pic=saveImg($result,time().'jpg');//saveImg是自己写的方法多次调用的小方法,具体代码见下面。 ~~~ 当然,因为我自己经常会用到保存图片,所以上面用到的saveImg是我自己写的一个放在common的小函数,代码如下: ~~~ //$img:二进制的图片数据; //$name:要保存的图片的名称,不包括图片路径; //$dir:图片要保存的路径,可为空 //该方法会返回这张图片的URL完整地址。 function saveImg($img,$name,$dir=''){ if(!$dir){ $dir='../public/uploads/'.date('Y-m-d'); if (!file_exists($dir)){ mkdir ($dir); } $savepic=$dir.'/'.$name; } $file = fopen($savepic,"w");//打开文件准备写入 fwrite($file,$img);//写入 fclose($file);//关闭 $siteurl='http://'.$_SERVER['SERVER_NAME'].'/'; return $siteurl.'public/uploads/'.date('Y-m-d').'/'.$name; } ~~~ ## 第四步:预览图片 经过上面第三步,我们已经将二维码保存到本地,并获得一个完整的URL地址,我们直接通过下面的HTML代码来查看这张二维码 ~~~ echo '<img src="'.$pic.'">'; ~~~ OK,至此,我们已经成功生成自定义二维码了。