PHP開發實現快遞查詢功能詳解

2022-09-26 05:42:11 字數 1591 閱讀 3453

背景:不久前,設計實現了京東api的功能,發現如果換了其它快遞再重新設計,豈不是會浪費太多的時間,所以選個第三方提供的快遞api是最為合理的,下面給出快遞鳥和快遞100的設計實現。

1.首先要有乙個快遞鳥賬號,根據對方的要求,完善使用者申請。

2.根據自己的需求,開通服務

3.進入「我的api介面」,根據「介面」中的開發文件了解設計需求,**官方demo,編輯為適合自己的**。

1.修改官方的demo**,我在此分離出了乙個快遞類,提高適用性

2.引入類檔案,例項化並進行測試

(注意:引用此api時,明確除傳入物流單號引數外,還需要「快遞公司編碼」,可點選**後存入自己設計平台的資料庫,發現一點,excel表中沒有京東物流卻可以使用「jd」查到,估計是**更新不夠即時性)

3.輸出效果

include_once'express.php';

$waybillcode = 'va33016759650';

$express =newexpress();

$res = $express->expressinfo($waybillcode);

$trace = $res['data'];

var_dump($trace);

(注意:此處只需傳入乙個快遞單號即可,相比前面的快遞鳥api而言,更為智慧型)

顯然,需要按照獲取到的物流資訊中的「com」與快遞100提供的編碼進行對應,然後發現,只有word文件,如果有excel表,那就方便錄入資料庫了...

更新後的express.class.php **如下:

<?php /**

* express.class.php 快遞查詢類 v1.0

* * @copyright 百鬼夜行

* @lastmodify 2017-01-19

*/class express

else

}return $result;

} //快遞100物流公司

public function traceexpress()

/** 網頁內容獲取方法

*/private function getcontent($url)

else

return $file_contents;

} /*

* 獲取對應名稱和對應傳值的方法

*/private function expressname($order)

"), true);

$result = $name[0]['comcode'];

if (empty($result)) else

} /*

* 返回$data array 快遞陣列查詢失敗返回false

* @param $order 快遞的單號

* $data['ischeck'] ==1 已經簽收

* $data['data'] 快遞實時查詢的狀態 array

*/public function getorder($order)

else &postid=");

$data = json_decode($result, true);

return $data;}}}

php快遞查詢

class express 採集網頁內容的方法 private function getcontent url else return file contents 獲取對應名稱和對應傳值的方法 private function expressname return name 解析object成陣列的...

php 免費的快遞查詢介面快遞100

這個快遞100的介面是免費的,但是查詢過頻繁的話可能就沒什麼效果了。專案比較正規的話還是建議通過申請企業版的物流介面 直接上 public function get expressop foreach arr as k v if output exit json encode false if st...

PHP實現MYSQL的查詢功能

header content type text html charset utf 8 host 127.0.0.1 port 3306 user root pass 123654 charset utf8 設定預設字元 link mysql connect host port user,pass ...