## 第一步,獲取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定時執行任務