al; } return $cleansedArray; } /** * return 返回一個字符串指出了客戶端庫的版本 */ public function clientInfo(){ return $this-link-client_info; } /** * return 作為一個整數返回MySQL服務器的版本 */ public function clientVersion(){ return $this-link-client_version; } /** * 獲取結果集中行的數目 * @access private * @return 結果集中行的數目 */ function numRows($sql) { $result = $this-query($sql); if (!!$result){ $nums = $result-num_rows; return $nums; }else{ return false; } } /** * 獲取第一條記錄的第一個字段 * @access public * @param $sql string 查詢的sql語句 * @return 返回一個該字段的值 */ public function getOne($sql){ $result = $this-query($sql); if (!!$result) { $row = $result-fetch_row(); return $row[0]; } else { return false; } } /** * 獲取一條記錄 * @access public * @param $sql 查詢的sql語句 * @return array 關聯數組 */ public function getRow($sql){ $result = $this-query($sql); if ($result) { $row = $result-fetch_assoc(); return $row; } else { return false; } } /** * 獲取所有的記錄 * @access public * @param $sql 執行的sql語句 * @return $list 返回所有記錄組成的二維數組 */ public function getAll($sql){ $result = $this-query($sql); $list = array(); if (!!$result){ while (!!($row = $result-fetch_assoc())){ $list[] = $row; } return $list; }else{ return false; } } /** * 獲取某一列的值 * @access public * @param $sql string 執行的sql語句 * @return $list array 返回由該列的值構成的一維數組 */ public function getCol($sql){ $result = $this-query($sql); $list = array(); if (!!$result){ while (!!($row = $result-fetch_row())) { $list[] = $row[0]; } return $list; }else{ return false; } } /** * 獲取上一步insert操作產生的id */ public function getInsertId(){ return $this-link-insert_id; } /** * 獲取下一個自增(id)值 * @param $tablename 數據表名 */ public function 買粉絲Id($tablename) { return $this-getOne("SELECT 買粉絲_increment FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='" . $this-dbname . "' AND TABLE_NAME = '" . trim($tablename, '`') . "'"); } /** * 獲取影響的記錄行數 * @access private * @return 前一次 MySQL 操作所影響的記錄行數 */ public function affectedRows() { return $this-link-affected_rows; } /** * 返回結果集中字段的數 * @access public * @param $sql string 執行的sql語句 * @return 結果集中字段的數 */ public function numFields($sql) { $result = $this-query($sql); return $result-field_買粉絲unt; } /** * 釋放結果內存 * @access public * @param $result 要釋放的結果標識符 * @return 釋放結果內存 */ public function 買粉絲Result($result) { return $result-買粉絲(); } /** * 關閉先前打開的數據庫連接 */ public function close(){ $this-link-close(); } /** * 獲取錯誤號 * @access private * @return 錯誤號 */ private function errno(){ return $this-link-買粉絲nnect_errno; } /** * 獲取錯誤信息 * @access private * @return 錯誤private信息 */ private function error(){ return $this-link-買粉絲nnect_error; } //開啟事務 public function startTransaction(){ $this-link-買粉絲買粉絲mit(FALSE); } //提交事務 public function 買粉絲mit(){ $this-link-買粉絲mit(); $this-link-買粉絲買粉絲mit(TRUE); } //回滾事務 public function rollback(){ $this-link-rollback(); } } header("Content-type:text/買粉絲; charset=UTF-8"); // database host $dbhost = "localhost"; // database name $dbname = "***"; // database username $dbuser = "***"; // database password $dbpass = "****"; // 字符集 $charset = 'utf8'; $db = new MySQLiDb($dbhost, $dbuser, $dbpass, $dbname, $charset); ?
5.目錄結構
PHP開發買粉絲買粉絲,然后想實現:關注用戶發一條消息,回復多條消息。如圖☞ 各位大神拜托了
這種需要走客服接口才可以,常規的被動回復只能發一條
不過客服接口需要認證買粉絲才可以調用
Thinkphp3.2.3接入買粉絲響應買粉絲發送的Token驗證總是失敗
用得著判斷那個TOKEN?是不是多此一舉,用我這個,包你滿意
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends WechatController {
public function index(){
$v = $_GET["echostr"];
if(!isset($v)){ //根據隨機字符串判斷是否之前已經驗證過,避免重復驗證
$this->receive();
}else{
$this->checkSignature();
}
}
//未驗證執行驗證
public function checkSignature(){
$signature = I("signature");//加密簽名
$timestamp = I("timestamp");//時間戳
$nonce = I("nonce");//隨機數
$token = TOKEN;//token
$tmpArr = array($token,$timestamp, $nonce);//組成新數組
sort($tmpArr,SORT_STRING);//重新排序
$tmpStr = implode($tmpArr);//轉換成字符串
$tmpStr = sha1($tmpStr);//再將字符串進行加密
if( $tmpStr == $signature )
{
echo $_GET["echostr"];
exit;
//return true;
}else{
return false;
}
}
//已經驗證過執行這里
public function receive(){
$postStr&nbs
很赞哦!(6)