微信小程式PHP產生參數二維碼
官方取得小程式頁面API
#由於小程式參數二維碼API提供的幫助有限,以下是我對該功能的一些理解
我主要是透過thinkphp後台介面實現,程式碼如下:
1、先取得ACCESS_TOKEN:
$tokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret; $getArr=array(); $tokenArr=json_decode($this->send_post($tokenUrl,$getArr,"GET")); $access_token=$tokenArr->access_token;
#send_post:
##
function send_post($url, $post_data,$method='POST') { $postdata = http_build_query($post_data); $options = array( 'http' => array( 'method' => $method, //or GET 'header' => 'Content-type:application/x-www-form-urlencoded', 'content' => $postdata, 'timeout' => 15 * 60 // 超时时间(单位:s) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return $result; }#2 、產生二維碼:
$path="pages/index?query=1"; $width=430; $post_data='{"path":"'.$path.'","width":'.$width.'}'; $url="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=".$access_token; $result=$this->api_notice_increment($url,$post_data);api_notice_increment:
function api_notice_increment($url, $data){ $ch = curl_init(); $header = "Accept-Charset: utf-8"; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $tmpInfo = curl_exec($ch); // var_dump($tmpInfo); // exit; if (curl_errno($ch)) { return false; }else{ // var_dump($tmpInfo); return $tmpInfo; } }#3、根據傳回的二進位資料產生圖片並上傳到自己的伺服器主要程式碼:
#
file_put_contents($filepath, $result)上傳服務部分程式碼,不貼了!感謝閱讀,希望能幫助大家,謝謝大家對本站的支持! 更多微信小程式PHP生成帶參數二維碼相關文章請關注PHP中文網!