新聞中心
這篇文章給大家分享的是有關(guān)php生成小程序二維碼亂碼的解決方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
為企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、全網(wǎng)營銷推廣、競價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
php生成小程序二維碼亂碼的解決辦法:1、獲取微信token;2、添加“base64_encode($res);”;3、獲取二維碼參數(shù);4、請(qǐng)求后臺(tái)交互,并將參數(shù)傳過去即可。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.4版、DELL G3電腦
php微信小程序生成二維碼,出現(xiàn)亂碼,{"errcode":44002,"errmsg":"empty post data"},'{"errcode":41001,"errmsg":"access_token missing hint: [OoC.2a0822e255]"}',以及其他的坑
微信小程序的坑簡直比我的頭發(fā)還多,今天下午獲取微信二維碼,遇到的44002,41001,還有圖片沒法正常顯示以及小程序參數(shù)獲取的問題,接下來一一解決
首先獲取微信token然后再獲取二維碼這個(gè)沒什么好說的 直接上代碼
public function getQRcode() { $appid = ''; $secret = ''; $access_token = json_decode(file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret),true)['access_token']; $url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=$access_token"; $ch = curl_init(); $data = json_encode(['scene' => '&id='.$this->user_id]); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 'image/gif'); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POSTFIELDS,$data); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data) )); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //如果需要將結(jié)果直接返回到變量里,那加上這句。 $res = curl_exec($ch); } 雖然已經(jīng)獲取到了小程序二維碼 但是此時(shí)打印$res就會(huì)出現(xiàn)亂碼的問題 仔細(xì)看文檔的同學(xué)可能就知道 這是因?yàn)槲⑿艜?huì)返回圖片二進(jìn)制內(nèi)容
媽的 簡直不要太坑啊
$data = 'data:image/jpeg;base64,'.base64_encode($res);//補(bǔ)全base64加密字符串頭 $html = "二維碼 "; echo $html; exit; 在代碼上加上這一句 可以轉(zhuǎn)換 直接輸出圖片 ok 二維碼已經(jīng)出來了 接下來就是獲取二維碼參數(shù) 比如參數(shù)為id=1 獲取二維碼參數(shù)還是比較簡單的 微信二維碼指向首頁 然后在index.js編寫 然后請(qǐng)求后臺(tái)交互 將參數(shù)傳過去 ,本來后臺(tái)接口已經(jīng)寫好了 我想今天的工作可以告一段段落了,尼瑪沒想到檢查數(shù)據(jù)的時(shí)候發(fā)現(xiàn)id根本沒有獲取到 在本地測試的時(shí)候可以
這樣操作開發(fā)工具 就會(huì)獲取到參數(shù) 接著去后臺(tái)打印的時(shí)候你就會(huì)發(fā)現(xiàn)你傳過去的參數(shù)根本不是1,而是{‘id’:'1'},我日 就沒遇到過他們這種的
所以如果本地測試的話還得需要進(jìn)行一下操作 兄弟我是直接被征服了 隨便截取了一下1前邊的7個(gè)字符 后邊的2個(gè)字符 這樣才得到完整’1‘,
感謝各位的閱讀!關(guān)于“php生成小程序二維碼亂碼的解決方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
分享標(biāo)題:php生成小程序二維碼亂碼的解決方法
標(biāo)題鏈接:http://www.dlmjj.cn/article/ppcpoi.html