分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

php查询快递的类

发布时间:2023-09-06 02:28责任编辑:熊小新关键词:暂无标签


php查询快递的类.php

<?php/** * ?Express.class.php ??????????快递查询类 * * @copyright ??????????widuu * @license ????????http://www.widuu.com * @lastmodify ?????????2013-6-19 */class Express { ????????private $expressname =array(); //封装了快递名称 ???????function __construct(){ ???????$this->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<name>\w+)\"\>\<span\>(?P<title>.*)\<\/span>/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);?>php快递查询API类####demorequire("Express.class.php");$a = new Express();$result = $a->getorder("全一快递",111309582915);var_dump($result);

php查询快递的类

原文地址:https://www.cnblogs.com/thatme/p/10203075.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved