国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

使用PHP進行微信公眾平臺開發的示例

2024-05-04 22:35:05
字體:
來源:轉載
供稿:網友

1. SAE 數據庫的連接。

需要主機名和端口,以后的使用是一樣的。

@ $db = new mysqli(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS,'你的應用名'); 

2.XML 的處理。

微信發送的消息格式都是 XML 格式,你返回的消息也必須是 XML 格式。從 XML 里提取數據,用 SimpleXML,強大又容易使用。包裝成 XML 消息呢?把消息模板保存為字符串,然后用 sprintf 進行格式化輸出。

解析微信服務器 POST 的數據:

//---------- 接 收 數 據 ---------- //  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //獲取POST數據  //用SimpleXML解析POST過來的XML數據 $postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);  $fromUsername = $postObj->FromUserName; //獲取發送方帳號(OpenID) $toUsername = $postObj->ToUserName; //獲取接收方賬號 $msgType = $postObj->MsgType; //消息內容 

返回文本消息:

function sendText($to, $from, $content, $time) {   //返回消息模板   $textTpl = "<xml>   <ToUserName><![CDATA[%s]]></ToUserName>   <FromUserName><![CDATA[%s]]></FromUserName>   <CreateTime>%s</CreateTime>   <MsgType><![CDATA[%s]]></MsgType>   <Content><![CDATA[%s]]></Content>   <FuncFlag>0</FuncFlag>   </xml>";    //格式化消息模板   $msgType = "text";   $time = time();   $resultStr = sprintf($textTpl,$to,$from,   $time,$msgType,$content);   echo $resultStr; } 

3. API 接口的調用。

網上有很多 API 接口,如百度翻譯,有道翻譯,天氣預報等,對接口的調用可以直接用 file_get_contents ,也可以用 curl 的方式進行抓取,然后根據返回數據的格式進行數據解析,一般都是 xml 格式或者 json 格式,處理時用 SimpleXML 和 json_decode 是很方便的。對于抓取 API 內容,用重新封裝的函數:

function my_get_file_contents($url){    if(function_exists('file_get_contents')){      $file_contents = file_get_contents($url);    }   else   {         //初始化一個cURL對象     $ch = curl_init();      $timeout = 5;      //設置需要抓取的URL     curl_setopt ($ch, CURLOPT_URL, $url);      //設置cURL 參數,要求結果保存到字符串中還是輸出到屏幕上     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);      //在發起連接前等待的時間,如果設置為0,則無限等待     curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);      //運行cURL,請求網頁     $file_contents = curl_exec($ch);      //關閉URL請求     curl_close($ch);   }    return $file_contents; } 百度翻譯 API 的調用如下:function baiduDic($word,$from="auto",$to="auto"){        //首先對要翻譯的文字進行 urlencode 處理   $word_code=urlencode($word);        //注冊的API Key   $appid="yourAPIkey";        //生成翻譯API的URL GET地址   $baidu_url = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=".$appid."&q=".$word_code."&from=".$from."&to=".$to;        $text=json_decode(my_get_file_contents($baidu_url));    $text = $text->trans_result;    return $text[0]->dst; }             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遂昌县| 仙居县| 洮南市| 富顺县| 南乐县| 台中县| 保靖县| 确山县| 疏勒县| 长岛县| 北宁市| 山阳县| 宜城市| 博野县| 饶河县| 鄂托克旗| 白城市| 淳安县| 炉霍县| 三台县| 全州县| 十堰市| 辛集市| 雷波县| 威远县| 乐至县| 浦县| 临邑县| 黔江区| 昆山市| 麻栗坡县| 新田县| 乐安县| 化州市| 玛多县| 布尔津县| 潼南县| 神池县| 武宣县| 和林格尔县| 安国市|