最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP memcache在微信公眾平臺(tái)的應(yīng)用方法示例

 更新時(shí)間:2017年09月13日 11:58:40   作者:macwhirr123  
這篇文章主要介紹了PHP memcache在微信公眾平臺(tái)的應(yīng)用方法,結(jié)合具體實(shí)例形式分析了php使用memcache保存用戶訪問記錄與響應(yīng)用戶訪問并給出提示信息的交互模式實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP memcache在微信公眾平臺(tái)的應(yīng)用方法。分享給大家供大家參考,具體如下:

現(xiàn)在微信公眾平臺(tái)大多數(shù)互動(dòng)都是用戶發(fā)送信息->微信分析并返回結(jié)果,這種模式功能比較單一。這里介紹另一種互動(dòng)模式:用戶發(fā)送信息->微信分析信息并提示下一步操作->用戶發(fā)送信息->.......->微信返回結(jié)果。本文介紹運(yùn)用sae里的memcache實(shí)現(xiàn)以上模式。

思路:

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

2、用memcache保存兩個(gè)數(shù)據(jù),一個(gè)為上一次用戶發(fā)送的消息,另一個(gè)隨便定義一個(gè)值(示例中為1),做判斷用戶動(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 )){
    //判斷用戶動(dòng)作
     if($last_step!=1){
     //將用戶輸入的數(shù)據(jù)保存至memcache
     $mc->set($fromUsername."data",$keyword,0,120);
     //記錄用戶這一次動(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)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP中json格式數(shù)據(jù)操作技巧匯總》及《PHP針對(duì)XML文件操作技巧總結(jié)

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP實(shí)現(xiàn)的同步推薦操作API接口案例分析

    PHP實(shí)現(xiàn)的同步推薦操作API接口案例分析

    這篇文章主要介紹了PHP實(shí)現(xiàn)的同步推薦操作API接口案例,結(jié)合具體實(shí)例形式分析了同步推薦操作具體的功能、接口、方法、參數(shù)及相關(guān)使用技巧,需要的朋友可以參考下
    2016-11-11
  • php cli模式學(xué)習(xí)(PHP命令行模式)

    php cli模式學(xué)習(xí)(PHP命令行模式)

    之前知道php—cli模式是一種類似shell命令式的執(zhí)行php程序,不過一直以為這個(gè)是一種落后的方式,應(yīng)該沒有什么意義,因?yàn)閺臎]有遇到過使用這個(gè)cli模式編程的。不過今天遇到了使用cli模式的應(yīng)用
    2013-06-06
  • php使用number_format函數(shù)截取小數(shù)的方法分析

    php使用number_format函數(shù)截取小數(shù)的方法分析

    這篇文章主要介紹了php使用number_format函數(shù)截取小數(shù)的方法,結(jié)合實(shí)例形式分析了number_format函數(shù)進(jìn)行浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下
    2016-05-05
  • PHP實(shí)現(xiàn)適用于文件內(nèi)容操作的分頁類

    PHP實(shí)現(xiàn)適用于文件內(nèi)容操作的分頁類

    這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)適用于文件內(nèi)容操作的分頁類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • php實(shí)現(xiàn)的日歷程序

    php實(shí)現(xiàn)的日歷程序

    這篇文章主要介紹了php實(shí)現(xiàn)的日歷程序,可實(shí)現(xiàn)基本的日歷顯示與實(shí)時(shí)查詢功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-06-06
  • php隨機(jī)生成數(shù)字字母組合的方法

    php隨機(jī)生成數(shù)字字母組合的方法

    這篇文章主要介紹了php隨機(jī)生成數(shù)字字母組合的方法,實(shí)例分析了php生成隨機(jī)數(shù)及隨機(jī)字母的相關(guān)技巧與用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • PHP操作MongoDB實(shí)現(xiàn)增刪改查功能【附php7操作MongoDB方法】

    PHP操作MongoDB實(shí)現(xiàn)增刪改查功能【附php7操作MongoDB方法】

    這篇文章主要介紹了PHP操作MongoDB實(shí)現(xiàn)增刪改查功能,結(jié)合實(shí)例形式總結(jié)分析了php操作MongoDB的常用技巧,并附帶php7操作MongoDB方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2018-04-04
  • PHP結(jié)合Vue實(shí)現(xiàn)滾動(dòng)底部加載效果

    PHP結(jié)合Vue實(shí)現(xiàn)滾動(dòng)底部加載效果

    這篇文章主要給大家介紹了關(guān)于PHP結(jié)合Vue如何實(shí)現(xiàn)滾動(dòng)底部加載效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • 修改Laravel5.3中的路由文件與路徑

    修改Laravel5.3中的路由文件與路徑

    本文先是回顧了Laravel5.2中路由的修改,然后給大家用實(shí)例代碼介紹了如何修改Laravel5.3中的路由,有需要的小伙伴們可以參考學(xué)習(xí)。
    2016-08-08
  • PHP函數(shù)積累總結(jié)

    PHP函數(shù)積累總結(jié)

    這篇文章主要介紹了PHP函數(shù)積累,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

昌江| 新乐市| 上蔡县| 深圳市| 澄迈县| 古交市| 巴马| 桦甸市| 江永县| 衡山县| 桑植县| 惠东县| 浙江省| 呈贡县| 伊宁县| 九龙县| 石渠县| 安阳县| 延川县| 沾益县| 余姚市| 喀什市| 济宁市| 辽宁省| 宁南县| 黄梅县| 阳原县| 谢通门县| 布尔津县| 宣威市| 万载县| 怀宁县| 镇安县| 宁陵县| 鹤庆县| 安平县| 姜堰市| 堆龙德庆县| 安达市| 泸定县| 张掖市|