關於PHP快遞查詢類

來源:互聯網
上載者:User
本篇將會介紹PHP快遞查詢類的相關方法。

快遞公司,只要直接輸入快遞單號就可以自動識別快遞單號所在快遞公司和物流資訊,還是非常方便的,只要幾行代碼就可以完美的整合到你系統的功能中了!

使用樣本: 使用如下,只需要調用類中的getLogisticsInfo()方法,參數傳入訂單號即可 $e = new Express();

$data = $e->getLogisticsInfo("453371918456");echo '<pre>';var_dump($data);
<?php/** * Express.class.php 快遞查詢類 * * @author 王浩銘 * @date 2017/09/27 */class Express {    /**     * @desc 採集網頁內容的方法,建議使用curl,效率更高     * @param $url     * @return mixed|string     */    private function getContent($url){        if(function_exists("file_get_contents")){            $file_contents = file_get_contents($url);        }else{            $ch = curl_init();            $timeout = 5;   // 設定5秒逾時            curl_setopt($ch, CURLOPT_URL, $url);            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);            $file_contents = curl_exec($ch);            curl_close($ch);        }        return $file_contents;    }    /**     * @desc 得到目前物流單號可能存在的快遞公司     * @param string $order_no     * @return mixed     */
 public function getOrder($order_no=''){        $result = $this->getContent("http://www.kuaidi100.com/autonumber/autoComNum?text=".$order_no);        $data = json_decode($result,true);        return $data;    }    /**     * @desc http://www.kuaidi100.com/query?type=zhongtong&postid=453371918456&id=1&valicode=&temp=0.40349807080624434     * @desc 返回的資料結果參考官方文檔:https://www.kuaidi100.com/openapi/api_post.shtml     * @desc 直接調用該方法,傳入物流單號即可查詢物流資訊     * @param string $order_no     * @return bool|mixed     */    public function getLogisticsInfo($order_no=''){        $result = $this->getOrder($order_no);        $auto_arr = $result['auto'];        if(count($auto_arr)>0){            foreach ($auto_arr as $key => $value){                $temp = $this->randFloat();                $comCode = $value['comCode'];                $url = "http://www.kuaidi100.com/query?type=$comCode&postid=$order_no&id=1&valicode=&temp=$temp";// $temp 隨機數,防止緩衝                $json = $this->getContent($url);                $data = json_decode($json,true);                if($data['message']=='ok'){                    return $data;                }            }        }        return false;    }    /**     * 產生0~1隨機小數     * @param Int  $min     * @param Int  $max     * @return Float     */    function randFloat($min=0, $max=1){        return $min + mt_rand()/mt_getrandmax() * ($max-$min);    }}

本篇介紹了php快遞查詢類的方法,更多相關知識請關注php中文網。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.