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

微信公眾平臺之快遞查詢功能用法實例

 更新時間:2015年04月14日 15:46:31   作者:Skiychan  
這篇文章主要介紹了微信公眾平臺之快遞查詢功能用法,實例分析了微信公眾平臺實現(xiàn)快遞查詢的相關(guān)技巧與具體用法,非常具有實用價值,需要的朋友可以參考下

本文實例講述了微信公眾平臺之快遞查詢功能用法。分享給大家供大家參考。具體如下:

使用方法:

#查快遞(或三個首字母ckd)#快遞編號#快遞單號
如(查詢EMS單號為1034616494006的快遞):
#ckd#15#1034616494006
常用快遞編號:<br />
15EMS,56申通,57順豐,77圓通,
80韻達,87中通,85宅急送,62天天

1. class.base.php文件:

<?php
/**
 * 微信公眾平臺基礎(chǔ)類 For Fshare
 * @author: Skiychan
 * @created:  2013.11.19
 */
class Wechat{
// public $token = '';
/* public function __construct($token){
  $this->token = $token;
 }  */
 //判斷是否來自微信服務(wù)器
/* public function valid(){
  $echoStr = $_GET["echostr"];
  if($this->checkSignature()){
   echo $echoStr;
   exit;
  }
 }
*/
 public function responseMsg(){
  $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>";    
   if(!empty($keyword)){
    //當輸入文字類型
    if($msgType = "text"){
     //$contentStr = $keyword.$fromUsername.$time;
     //$preg = "/^\#([\W\w]*?)\#([\W\w]*?)\#(.*)/"; //0為功能,1為選項,2為余下的值
     //$preg = "/\#([\w]+)/"; //0為功能,1為選項,2為余下的值
     $preg = "/\#([\w\d\x{4e00}-\x{9fa5}]+)/u"; //0為功能,1為選項,2為余下的值
     preg_match_all($preg,$keyword,$newdata);
     $fn_name = $newdata[1][0];
     //獲取快遞的參數(shù)
     if(strtolower($fn_name)=="skiy"){
      $me = "我是此公眾帳號的開發(fā)者,英文名Skiy。\n如果你對本功能有任何意見和建議,歡迎聯(lián)系我,\n我的QQ是1005043848\n微信是forskiy,郵箱:\ndeveloper@zzzzy.com";
      $contentStr = $me;
     }      
     //獲取快遞的參數(shù)
     if($fn_name=="快遞"||strtolower($fn_name)=="kuaidi"){
      $kdlist = '';
      //啟用PDO連接sqlite的方式
      $db = new PDO("sqlite:somedata/data.dat");
      $results = $db->query('SELECT * FROM kuaidi')->fetchAll();
      foreach ($results as $key=>$row) {
       //var_dump($row);
       //$list_one = $row['id']." ".$row['code']." ".$row['company']."\n";
       $list_one = $row['id'].' '.$row['company']."\n";
       $kdlist = $kdlist.$list_one;
      }  
      //主機支持sqlite3的方式
/*      $db = new SQLite3("somedata/data.dat");
      $results = $db->query('SELECT * FROM kuaidi');
      while ($row = $results->fetchArray()) {
       //var_dump($row);
       $list_one = $row['id']." ".$row['code']." ".$row['company']."\n\r";
       $kdlist = $kdlist.$list_one;
      }  */  
      $contentStr = $kdlist;
     }
     if($fn_name=="查快遞"||strtolower($fn_name)=="ckd"){
      $id = $newdata[1][1];
      $num = $newdata[1][2];
      $db = new PDO("sqlite:somedata/data.dat");
      $results = $db->query('SELECT code,company FROM kuaidi WHERE id = '.$id)->fetchAll();
      $code = $results[0]['code'];  //獲取英文代碼
      $com = $results[0]['company'];  //獲取公司名稱
      $numinfo = "快遞:".$com."\n"."單號:".$num."\n";
      $kd_url = "http://m.kuaidi100.com/query?type=".$code."&postid=".$num;
      $json_getdata = file_get_contents($kd_url);
      $get_kdinfo = json_decode($json_getdata);  //object
      $get_kdinfo = json_decode($json_getdata,true); //array
      $last_t = "查詢時間:\n".$get_kdinfo['updatetime']."\n\n";  //查詢時間
      $kd_shipinfo = $get_kdinfo['data']; //快遞數(shù)據(jù)數(shù)組
      $kd_total = count($kd_shipinfo)-1;
      $ship = '';
      //物流倒序詳情
      for($i = $kd_total;$i>=0;$i--){
       $shipinfo = $kd_shipinfo[$i]['time']."\n".$kd_shipinfo[$i]['context']."\n";
       $ship = $shipinfo.$ship;
      }
      //順序物流詳情
      /*foreach ($kd_shipinfo as $v){
       $shipinfo = $v['time']."\n".$v['context']."\n";
       $ship = $shipinfo.$ship;
      }
      */
      $get_kdinfo = $numinfo.$last_t."【物流詳情】\n".$ship;
      if($ship){
       $contentStr = $get_kdinfo;
      }else{
       $contentStr = $numinfo.">沒有物流數(shù)據(jù)!";
      }
     }
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
     echo $resultStr;
    }else{
     echo "Input something...";
    }
   }
  }else {
   echo "You have no enter something...";
   exit;
  }
 }
 //判斷簽名,返回bool
 private function checkSignature(){
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"]; 
  $token = TOKEN;
  $tmpArr = array($token, $timestamp, $nonce);
  sort($tmpArr);
  $tmpStr = implode( $tmpArr );
  $tmpStr = sha1( $tmpStr );
  if( $tmpStr == $signature ){
   return true;
  }else{
   return false;
  }
 }
}

2. index.php文件:

<?php
/**
 * 
 * 微信公眾平臺消息接口 For Fshare(分享資訊)
 * @author: Skiychan (Wechat:forskiy)
 * @created:2013.11.19
 * 
 */
include_once 'class.base.php';
define('TOKEN', 'skiychan');
$wx = new Wechat();
//$wx->valid();
$wx->responseMsg();

希望本文所述對大家的php程序設(shè)計有所幫助。

相關(guān)文章

  • PHP面相對象中的重載與重寫

    PHP面相對象中的重載與重寫

    本文主要介紹了PHP面相對象中的重載與重寫。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • php函數(shù)serialize()與unserialize()用法實例

    php函數(shù)serialize()與unserialize()用法實例

    這篇文章主要介紹了php函數(shù)serialize()與unserialize()用法,以實例形式詳細講述了php函數(shù)serialize()與unserialize()的適用情況與使用方法,具有很好的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • PHP遍歷數(shù)組的三種方法及效率對比分析

    PHP遍歷數(shù)組的三種方法及效率對比分析

    這篇文章主要介紹了PHP遍歷數(shù)組的三種方法及效率對比,實例分析了foreach、while與for三種遍歷數(shù)組的方法與相關(guān)的效率比對,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • PHP 文件上傳后端處理實用技巧方法

    PHP 文件上傳后端處理實用技巧方法

    這篇文章主要介紹了PHP 文件上傳后端處理實用技巧方法的相關(guān)資料,這里對后端處理做了詳解并附簡單實例代碼,需要的朋友可以參考下
    2017-01-01
  • thinkphp(php)插件鉤子(hooks)分析的簡單實現(xiàn)機制

    thinkphp(php)插件鉤子(hooks)分析的簡單實現(xiàn)機制

    現(xiàn)在主流的cms或者blog等系統(tǒng)中,都內(nèi)置的有插件系統(tǒng),但是層層深入、剖析實現(xiàn)的方式,其實都是最簡單的鉤子的復(fù)雜化的實現(xiàn)。這篇文章主要介紹了thinkphp(php)插件鉤子(hooks)分析的簡單實現(xiàn)機制,需要的朋友可以參考下
    2023-03-03
  • php中使用session防止用戶非法登錄后臺的方法

    php中使用session防止用戶非法登錄后臺的方法

    這篇文章主要介紹了php中使用session防止用戶非法登錄后臺的方法,詳細分析了session防止用戶非法登錄后臺的原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2015-01-01
  • 簡述php環(huán)境搭建與配置

    簡述php環(huán)境搭建與配置

    本文主要對php的環(huán)境搭建與配置進行步驟介紹。文章中標出了重點,方便大家閱讀,需要的朋友可以參考下
    2016-12-12
  • 如何通過Apache在本地配置多個虛擬主機

    如何通過Apache在本地配置多個虛擬主機

    這篇文章主要介紹了如何通過Apache在本地配置多個虛擬主機,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • PHP實現(xiàn)一個限制實例化次數(shù)的類示例

    PHP實現(xiàn)一個限制實例化次數(shù)的類示例

    這篇文章主要介紹了PHP實現(xiàn)一個限制實例化次數(shù)的類,涉及php面向?qū)ο蟪绦蛟O(shè)計中靜態(tài)對象與靜態(tài)方法的相關(guān)使用技巧,需要的朋友可以參考下
    2019-09-09
  • PHP原生函數(shù)一定好嗎?

    PHP原生函數(shù)一定好嗎?

    本文介紹了php的一個原生函數(shù)及其優(yōu)化后的函數(shù)執(zhí)行效率對比,得出結(jié)論,php原生函數(shù)不一定是最合適的。
    2014-12-12

最新評論

洞口县| 楚雄市| 沂水县| 海口市| 利辛县| 兰坪| 济宁市| 和静县| 民县| 平潭县| 临沭县| 灯塔市| 正定县| 孝义市| 凤山县| 宁德市| 武邑县| 密云县| 特克斯县| 西宁市| 理塘县| 嘉荫县| 桑日县| 临安市| 彰武县| 获嘉县| 湾仔区| 耒阳市| 蒙自县| 北安市| 穆棱市| 繁峙县| 广饶县| 方城县| 水富县| 芜湖县| 苍梧县| 麻江县| 阿坝县| 崇州市| 荔浦县|