您好,登錄后才能下訂單哦!
這篇文章主要介紹了PHP中memcache在微信公眾平臺中怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
思路:
1、用戶發送消息,微信會記錄用戶唯一的openid,將它的值賦予$fromUsername。
2、用memcache保存兩個數據,一個為上一次用戶發送的消息,另一個隨便定義一個值(示例中為1),做判斷用戶動作之用。
3、用$fromUsername 作為key定位。
示例代碼如下:
<?php /** * wechat php test */ //調用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,記錄上一次動作 $last_step=$mc->get($fromUsername."step"); //定義變量last_data,記錄上一次數據 $last_data=$mc->get($fromUsername."data"); if(!empty( $keyword )){ //判斷用戶動作 if($last_step!=1){ //將用戶輸入的數據保存至memcache $mc->set($fromUsername."data",$keyword,0,120); //記錄用戶這一次動作,值設為1 $mc->set($fromUsername."step",1,0,120); $msgType = "text"; $contentStr = "請再輸入一個值:"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } else { //清空memcach動作 $mc->delete($fromUsername."step"); //清空memcach數據 $mc->delete($fromUsername."data"); $msgType = "text"; $contentStr = "你輸入的第一個值為:".$last_data."\n 第二個值為:".$keyword; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } } } else { echo ""; } ?>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP中memcache在微信公眾平臺中怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。