PHP memcache在微信公眾平臺(tái)的應(yīng)用方法示例
本文實(shí)例講述了PHP memcache在微信公眾平臺(tái)的應(yīng)用方法。分享給大家供大家參考,具體如下:
現(xiàn)在微信公眾平臺(tái)大多數(shù)互動(dòng)都是用戶(hù)發(fā)送信息->微信分析并返回結(jié)果,這種模式功能比較單一。這里介紹另一種互動(dòng)模式:用戶(hù)發(fā)送信息->微信分析信息并提示下一步操作->用戶(hù)發(fā)送信息->.......->微信返回結(jié)果。本文介紹運(yùn)用sae里的memcache實(shí)現(xiàn)以上模式。
思路:
1、用戶(hù)發(fā)送消息,微信會(huì)記錄用戶(hù)唯一的openid,將它的值賦予$fromUsername。
2、用memcache保存兩個(gè)數(shù)據(jù),一個(gè)為上一次用戶(hù)發(fā)送的消息,另一個(gè)隨便定義一個(gè)值(示例中為1),做判斷用戶(hù)動(dòng)作之用。
3、用$fromUsername 作為key定位。
示例代碼如下:
<?php /** * wechat php test */ //調(diào)用mecache $mc=memcache_init(); //接受消息,直接用微信官方的示例代碼 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = 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>"; //定義變量last_step,記錄上一次動(dòng)作 $last_step=$mc->get($fromUsername."step"); //定義變量last_data,記錄上一次數(shù)據(jù) $last_data=$mc->get($fromUsername."data"); if(!empty( $keyword )){ //判斷用戶(hù)動(dòng)作 if($last_step!=1){ //將用戶(hù)輸入的數(shù)據(jù)保存至memcache $mc->set($fromUsername."data",$keyword,0,120); //記錄用戶(hù)這一次動(dòng)作,值設(shè)為1 $mc->set($fromUsername."step",1,0,120); $msgType = "text"; $contentStr = "請(qǐng)?jiān)佥斎胍粋€(gè)值:"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } else { //清空memcach動(dòng)作 $mc->delete($fromUsername."step"); //清空memcach數(shù)據(jù) $mc->delete($fromUsername."data"); $msgType = "text"; $contentStr = "你輸入的第一個(gè)值為:".$last_data."\n 第二個(gè)值為:".$keyword; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } } } else { echo ""; } ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP微信開(kāi)發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP中json格式數(shù)據(jù)操作技巧匯總》及《PHP針對(duì)XML文件操作技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php微信公眾號(hào)開(kāi)發(fā)模式詳解
- php 微信公眾平臺(tái)開(kāi)發(fā)模式實(shí)現(xiàn)多客服的實(shí)例代碼
- php實(shí)現(xiàn)發(fā)送微信模板消息的方法
- PHP微信公眾號(hào)自動(dòng)發(fā)送紅包API
- 關(guān)于php微信訂閱號(hào)開(kāi)發(fā)之token驗(yàn)證后自動(dòng)發(fā)送消息給訂閱號(hào)但是沒(méi)有消息返回的問(wèn)題
- PHP實(shí)現(xiàn)微信模擬登陸并給用戶(hù)發(fā)送消息的方法【文字,圖片,圖文】
- php版微信公眾平臺(tái)實(shí)現(xiàn)預(yù)約提交后發(fā)送email的方法
- 驗(yàn)證token、回復(fù)圖文\文本、推送消息的實(shí)用微信類(lèi)php代碼
- PHP實(shí)現(xiàn)微信公眾號(hào)企業(yè)號(hào)自定義菜單接口示例
- 基于php的微信公眾平臺(tái)開(kāi)發(fā)入門(mén)實(shí)例
- PHP使用微信開(kāi)發(fā)模式實(shí)現(xiàn)搜索已發(fā)送圖文及匹配關(guān)鍵字回復(fù)的方法
相關(guān)文章
PHP常用特殊運(yùn)算符號(hào)和函數(shù)總結(jié)(php新手入門(mén)必看)
新手經(jīng)常會(huì)有一些PHP特殊符號(hào)的問(wèn)題,這里把常用的特殊符號(hào)整理一下。如果你全部都會(huì)用,那就當(dāng)是溫故知新吧2013-02-02PHP如何得到當(dāng)前頁(yè)和上一頁(yè)的地址?
PHP如何得到當(dāng)前頁(yè)和上一頁(yè)的地址?...2006-11-11php使用mysqli向數(shù)據(jù)庫(kù)添加數(shù)據(jù)的方法
這篇文章主要介紹了php使用mysqli向數(shù)據(jù)庫(kù)添加數(shù)據(jù)的方法,實(shí)例分析了php使用mysqli進(jìn)行數(shù)據(jù)庫(kù)操作的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03