您好,欢迎访问一九零五行业门户网

php快递查询API类(支持各种快递的查询)

本文介绍下,用php实现的查询快递信息的一个api类,可以支持多种快递。有需要的朋友参考下。以下是一个封装好的快递查询类,分享给大家。
代码如下:
expressname = $this->expressname(); } /* * 采集网页内容的方法 */ private function getcontent($url){ if(function_exists(file_get_contents)){ $file_contents = file_get_contents($url); }else{ $ch = curl_init(); $timeout = 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; } /* * 获取对应名称和对应传值的方法 */ private function expressname(){ $result = $this->getcontent(http://www.kuaidi100.com/); preg_match_all(/data\-code\=\(?p\w+)\\>\(?p.*)\/iu,$result,$data); $name = array(); foreach($data['title'] as $k=>$v){ $name[$v] =$data['name'][$k]; } return $name; } /* * 解析object成数组的方法 * @param $json 输入的object数组 * return $data 数组 */ private function json_array($json){ if($json){ foreach ((array)$json as $k=>$v){ $data[$k] = !is_string($v)?$this->json_array($v):$v; } return $data; } } /* * 返回$data array 快递数组 * @param $name 快递名称 * 支持输入的快递名称如下 * (申通-ems-顺丰-圆通-中通-如风达-韵达-天天-汇通-全峰-德邦-宅急送-安信达-包裹平邮-邦送物流 * dhl快递-大田物流-德邦物流-ems国内-ems国际-e邮宝-凡客配送-国通快递-挂号信-共速达-国际小包 * 汇通快递-华宇物流-汇强快递-佳吉快运-佳怡物流-加拿大邮政-快捷速递-龙邦速递-联邦快递-联昊通 * 能达速递-如风达-瑞典邮政-全一快递-全峰快递-全日通-申通快递-顺丰快递-速尔快递-tnt快递-天天快递 * 天地华宇-ups快递-新邦物流-新蛋物流-香港邮政-圆通快递-韵达快递-邮政包裹-优速快递-中通快递) * 中铁快运-宅急送-中邮物流 * @param $order 快递的单号 * $data['ischeck'] ==1 已经签收 * $data['data'] 快递实时查询的状态 array */ public function getorder($name,$order){ $keywords = $this->expressname[$name]; $result = $this->getcontent(http://www.kuaidi100.com/query?type={$keywords}&postid={$order}); $result = json_decode($result); $data = $this->json_array($result); return $data; }}$a = new express();$result = $a->getorder(全一快递,111309582915);var_dump($result);?>
其它类似信息

推荐信息