## 第一步,获取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,至此,我们已经成功生成自定义二维码了。
- 空白目录
- summernote富文本编辑器
- 基本使用(一)
- 基本使用(二)
- 基本使用(三)
- 基本使用(四)
- 修改Summernote文本编辑器支持上传图片到服务器
- 修改图片上传后的样式
- Composer的一些基本用法
- 使用中国镜像快速安装
- 自己项目中常用到的一些Composer
- TP5的一些常见功能实现
- 通过phpmailer实现邮件的发送
- 使用PhantomJS将网页生成图片
- TP5在Linux服务器中LNMP环境下的配置
- 利用JWT做token开发
- 小程序开发备忘录
- 小程序生成自定义二维码
- Bootstrap使用心得
- 异步加载数据,更新select方法
- Html5实现图片上传前裁剪
- mysql一些小技巧
- php移动mysql字段的位置
- 服务器相关知识
- 阿里云专属网络外网访问的设置
- Linux定时执行任务