程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php版微信公眾平台開發之驗證步驟實例詳解,php詳解

php版微信公眾平台開發之驗證步驟實例詳解,php詳解

編輯:關於PHP編程

php版微信公眾平台開發之驗證步驟實例詳解,php詳解


本文實例講述了php版微信公眾平台開發之驗證步驟。分享給大家供大家參考,具體如下:

微信公眾平台開發我們現在做得比較多了,這裡給各位介紹的是一個入門級別的微信公眾平台驗證基礎知識了,有興趣的和小編來看看。

開發微信的時候 需要驗證一下,在官方開發者中心哪裡有可以下源代碼,登錄到 公眾帳號後 看到左邊的最下角有一個開發者中心點擊,然後填寫上你相對應的 Token 和 url 然後就可以驗證成功的話就可以開發了.

下載微信php驗證源代碼在 開發者中心 - 開發者文檔 - 接口消息 - 驗證消息真實 - 拉到最下面就php演示代碼.

下載好後代碼如下:

<?php
/**
 * wechat php test
 * update time: 20141008
 */
//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest
{
 public function valid()
 {
  $echoStr = $_GET["echostr"];
  //valid signature , option
  if($this->checkSignature()){
  echo $echoStr;
  exit;
  }
 }
 public function responseMsg()
 {
 //get post data, May be due to the different environments
 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
  //extract post data
 if (!emptyempty($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(!emptyempty( $keyword ))
    {
    $msgType = "text";
    $contentStr = "Welcome to wechat world!";
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    echo $resultStr;
    }else{
    echo "Input something...";
    }
  }else {
  echo "";
  exit;
  }
 }
private function checkSignature()
{
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
  sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>

其中:TOKEN 修改為你自己想要的 然後在 開發者中心也要寫一樣的,在驗證的過程中 $wechatObj->valid(); 這段代碼不能去除這個是驗證,驗證成功後 我們就可以把 這段 $wechatObj->valid(); 這個注釋掉了,然後使用 $wechatObj->responseMsg(); 來進行測試

注意:在開發的時候需要把 $wechatObj->valid(); 給注釋掉,不然在手機測試的時候 會沒有顯示什麼.

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP微信開發技巧匯總》、《PHP編碼與轉碼操作技巧匯總》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved