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

首頁 > 開發 > PHP > 正文

PHP memcache在微信公眾平臺的應用方法示例

2024-05-04 21:50:07
字體:
來源:轉載
供稿:網友

本文實例講述了PHP memcache在微信公眾平臺的應用方法。分享給大家供大家參考,具體如下:

現在微信公眾平臺大多數互動都是用戶發送信息->微信分析并返回結果,這種模式功能比較單一。這里介紹另一種互動模式:用戶發送信息->微信分析信息并提示下一步操作->用戶發送信息->.......->微信返回結果。本文介紹運用sae里的memcache實現以上模式。

思路:

1、用戶發送消息,微信會記錄用戶唯一的openid,將它的值賦予$fromUsername。

2、用memcache保存兩個數據,一個為上一次用戶發送的消息,另一個隨便定義一個值(示例中為1),做判斷用戶動作之用。

3、用$fromUsername 作為key定位。

示例代碼如下:

  1. <?php 
  2. /** 
  3.  * wechat php test 
  4.  */ 
  5. //調用mecache 
  6. $mc=memcache_init(); 
  7. //接受消息,直接用微信官方的示例代碼 
  8. $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
  9.    if (!emptyempty($postStr)){ 
  10.    $postObj = simplexml_load_string($postStr'SimpleXMLElement', LIBXML_NOCDATA); 
  11.    $fromUsername = $postObj->FromUserName; 
  12.    $toUsername = $postObj->ToUserName; 
  13.    $keyword = trim($postObj->Content); 
  14.    $time = time(); 
  15.    $textTpl = "<xml> 
  16.           <ToUserName><![CDATA[%s]]></ToUserName> 
  17.           <FromUserName><![CDATA[%s]]></FromUserName> 
  18.           <CreateTime>%s</CreateTime> 
  19.           <MsgType><![CDATA[%s]]></MsgType> 
  20.           <Content><![CDATA[%s]]></Content> 
  21.           <FuncFlag>0</FuncFlag> 
  22.           </xml>"; 
  23.    //定義變量last_step,記錄上一次動作 
  24.    $last_step=$mc->get($fromUsername."step"); 
  25.    //定義變量last_data,記錄上一次數據 
  26.    $last_data=$mc->get($fromUsername."data"); 
  27.    if(!emptyempty$keyword )){ 
  28.     //判斷用戶動作 
  29.      if($last_step!=1){ 
  30.      //將用戶輸入的數據保存至memcache 
  31.      $mc->set($fromUsername."data",$keyword,0,120); 
  32.      //記錄用戶這一次動作,值設為1 
  33.      $mc->set($fromUsername."step",1,0,120); 
  34.      $msgType = "text"
  35.      $contentStr = "請再輸入一個值:"
  36.      $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr); 
  37.     echo $resultStr
  38.     } else { 
  39.     //清空memcach動作 
  40.     $mc->delete($fromUsername."step"); 
  41.     //清空memcach數據 
  42.     $mc->delete($fromUsername."data"); 
  43.     $msgType = "text"
  44.     $contentStr = "你輸入的第一個值為:".$last_data."/n 第二個值為:".$keyword
  45.     $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr); 
  46.     echo $resultStr
  47.     }//Vevb.com 
  48.    } 
  49.   } else { 
  50.     echo ""
  51.   } 
  52. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江永县| 扎鲁特旗| 台北市| 阆中市| 达州市| 神农架林区| 宜都市| 同江市| 双峰县| 改则县| 珠海市| 响水县| 焦作市| 阿坝县| 二手房| 沙田区| 山丹县| 灵武市| 江达县| 安化县| 辽宁省| 永吉县| 永昌县| 铁力市| 普定县| 巴彦淖尔市| 黄冈市| 茂名市| 扶沟县| 内黄县| 盐边县| 格尔木市| 仁布县| 偃师市| 石狮市| 台山市| 陇南市| 台中县| 鸡西市| 永川市| 特克斯县|