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

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:34:15
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了微信公眾平臺之快遞查詢功能用法,實例分析了微信公眾平臺實現快遞查詢的相關技巧與具體用法,非常具有實用價值,需要的朋友可以參考下

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

使用方法:

#查快遞(或三個首字母ckd)#快遞編號#快遞單號

如(查詢EMS單號為1034616494006的快遞):

#ckd#15#1034616494006

常用快遞編號:

15EMS,56申通,57順豐,77圓通,

80韻達,87中通,85宅急送,62天天

1. class.base.php文件:

 

 
  1. <?php 
  2. /** 
  3. * 微信公眾平臺基礎類 For Fshare 
  4. * @author: Skiychan 
  5. * @created: 2013.11.19 
  6. */ 
  7. class Wechat{ 
  8. // public $token = ''; 
  9. /* public function __construct($token){ 
  10. $this->token = $token; 
  11. } */ 
  12. //判斷是否來自微信服務器 
  13. /* public function valid(){ 
  14. $echoStr = $_GET["echostr"]; 
  15. if($this->checkSignature()){ 
  16. echo $echoStr; 
  17. exit; 
  18. } 
  19. } 
  20. */ 
  21. public function responseMsg(){ 
  22. $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
  23. if (!emptyempty($postStr)){ 
  24. $postObj = simplexml_load_string($postStr'SimpleXMLElement', LIBXML_NOCDATA); 
  25. $fromUsername = $postObj->FromUserName; 
  26. $toUsername = $postObj->ToUserName; 
  27. $keyword = trim($postObj->Content); 
  28. $time = time(); 
  29. $textTpl = "<xml> 
  30. <ToUserName><![CDATA[%s]]></ToUserName> 
  31. <FromUserName><![CDATA[%s]]></FromUserName> 
  32. <CreateTime>%s</CreateTime> 
  33. <MsgType><![CDATA[%s]]></MsgType> 
  34. <Content><![CDATA[%s]]></Content> 
  35. <FuncFlag>0</FuncFlag> 
  36. </xml>";  
  37. if(!emptyempty($keyword)){ 
  38. //當輸入文字類型 
  39. if($msgType = "text"){ 
  40. //$contentStr = $keyword.$fromUsername.$time; 
  41. //$preg = "/^/#([/W/w]*?)/#([/W/w]*?)/#(.*)/"; //0為功能,1為選項,2為余下的值 
  42. //$preg = "//#([/w]+)/"; //0為功能,1為選項,2為余下的值 
  43. $preg = "//#([/w/d/x{4e00}-/x{9fa5}]+)/u"//0為功能,1為選項,2為余下的值 
  44. preg_match_all($preg,$keyword,$newdata); 
  45. $fn_name = $newdata[1][0]; 
  46. //獲取快遞的參數 
  47. if(strtolower($fn_name)=="skiy"){ 
  48. $me = "我是此公眾帳號的開發者,英文名Skiy。/n如果你對本功能有任何意見和建議,歡迎聯系我,/n我的QQ是1005043848/n微信是forskiy,郵箱:/ndeveloper@zzzzy.com"
  49. $contentStr = $me
  50. }  
  51. //獲取快遞的參數 
  52. if($fn_name=="快遞"||strtolower($fn_name)=="kuaidi"){ 
  53. $kdlist = ''
  54. //啟用PDO連接sqlite的方式 
  55. $db = new PDO("sqlite:somedata/data.dat"); 
  56. $results = $db->query('SELECT * FROM kuaidi')->fetchAll(); 
  57. foreach ($results as $key=>$row) { 
  58. //var_dump($row); 
  59. //$list_one = $row['id']." ".$row['code']." ".$row['company']."/n"; 
  60. $list_one = $row['id'].' '.$row['company']."/n"
  61. $kdlist = $kdlist.$list_one
  62. }  
  63. //主機支持sqlite3的方式 
  64. /* $db = new SQLite3("somedata/data.dat"); 
  65. $results = $db->query('SELECT * FROM kuaidi'); 
  66. while ($row = $results->fetchArray()) { 
  67. //var_dump($row); 
  68. $list_one = $row['id']." ".$row['code']." ".$row['company']."/n/r"; 
  69. $kdlist = $kdlist.$list_one; 
  70. } */ 
  71. $contentStr = $kdlist
  72. if($fn_name=="查快遞"||strtolower($fn_name)=="ckd"){ 
  73. $id = $newdata[1][1]; 
  74. $num = $newdata[1][2]; 
  75. $db = new PDO("sqlite:somedata/data.dat"); 
  76. $results = $db->query('SELECT code,company FROM kuaidi WHERE id = '.$id)->fetchAll(); 
  77. $code = $results[0]['code']; //獲取英文代碼 
  78. $com = $results[0]['company']; //獲取公司名稱 
  79. $numinfo = "快遞:".$com."/n"."單號:".$num."/n"
  80. $kd_url = "http://m.kuaidi100.com/query?type=".$code."&postid=".$num
  81. $json_getdata = file_get_contents($kd_url); 
  82. $get_kdinfo = json_decode($json_getdata); //object 
  83. $get_kdinfo = json_decode($json_getdata,true); //array 
  84. $last_t = "查詢時間:/n".$get_kdinfo['updatetime']."/n/n"//查詢時間 
  85. $kd_shipinfo = $get_kdinfo['data']; //快遞數據數組 
  86. $kd_total = count($kd_shipinfo)-1; 
  87. $ship = ''
  88. //物流倒序詳情 
  89. for($i = $kd_total;$i>=0;$i--){ 
  90. $shipinfo = $kd_shipinfo[$i]['time']."/n".$kd_shipinfo[$i]['context']."/n"
  91. $ship = $shipinfo.$ship
  92. //順序物流詳情 
  93. /*foreach ($kd_shipinfo as $v){ 
  94. $shipinfo = $v['time']."/n".$v['context']."/n"; 
  95. $ship = $shipinfo.$ship; 
  96. } 
  97. */ 
  98. $get_kdinfo = $numinfo.$last_t."【物流詳情】/n".$ship
  99. if($ship){ 
  100. $contentStr = $get_kdinfo
  101. }else
  102. $contentStr = $numinfo.">沒有物流數據!"
  103. $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr); 
  104. echo $resultStr
  105. }else
  106. echo "Input something..."
  107. }else { 
  108. echo "You have no enter something..."
  109. exit
  110. //判斷簽名,返回bool 
  111. private function checkSignature(){ 
  112. $signature = $_GET["signature"]; 
  113. $timestamp = $_GET["timestamp"]; 
  114. $nonce = $_GET["nonce"];  
  115. $token = TOKEN; 
  116. $tmpArr = array($token$timestamp$nonce); 
  117. sort($tmpArr); 
  118. $tmpStr = implode( $tmpArr ); 
  119. $tmpStr = sha1( $tmpStr ); 
  120. if$tmpStr == $signature ){ 
  121. return true; 
  122. }else
  123. return false; 

2. index.php文件:

 

 
  1. <?php 
  2. /** 
  3.  
  4. * 微信公眾平臺消息接口 For Fshare(分享資訊) 
  5. * @author: Skiychan (Wechat:forskiy) 
  6. * @created:2013.11.19 
  7.  
  8. */ 
  9. include_once 'class.base.php'
  10. define('TOKEN''skiychan'); 
  11. $wx = new Wechat(); 
  12. //$wx->valid(); 
  13. $wx->responseMsg(); 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扬州市| 永丰县| 玛曲县| 盐边县| 自贡市| 郸城县| 丰镇市| 钦州市| 灵宝市| 贵州省| 明星| 乐安县| 潢川县| 长宁区| 沙河市| 沽源县| 德江县| 山阴县| 正安县| 仪征市| 武鸣县| 临猗县| 阿拉善右旗| 肇庆市| 萍乡市| 宁陕县| 紫云| 灵石县| 长汀县| 东乌珠穆沁旗| 富蕴县| 富川| 手游| 奉贤区| 手机| 文水县| 阜新市| 嵊泗县| 普安县| 眉山市| 新竹县|