PHP学习代码

作者:ca88编程

动用背景:

1、修改php.ini,打开extension=php_sockets.dll

php调用快递鸟接口实例代码,php快递鸟实例

博主近年来亟待做二个物流音讯查询,就去英特网检索贰个快递鸟的API接口,再次来到值是以JSON格式,只要求再次回到是转成数组就能够轻巧达成各样实例了。下图是快递鸟API暗暗提示接口,博主怕有些小白(未有捉弄的意味,博主也是从小白走过来的)不太知道流程。

图片 1

快递鸟流程图

参数可以看下快递鸟的官方认证:

是因为是免费的,所以限制诸多,比方每一日最三只好查询3000次和要求实名认证。

博主这里贴出博主的代码:

<?php
//电商ID
defined('EBusinessID') or define('EBusinessID', '电商ID');
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
defined('AppKey') or define('AppKey', '电商加密私钥');
//请求url
defined('ReqURL') or define('ReqURL', 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx');
//调用查询物流轨迹
//---------------------------------------------
$kgs = "STO";//快递公司简称,官方有文档
$number = "3335800028275";//快递单号//
$logisticResult = getOrderTracesByJson($kgs,$number);
$data = json_decode($logisticResult,true);
if($data['Success'] == true){//返回信息成功
$str = "";
for($i=0;$i<count($data['Traces']);$i  ){
$str .= "时间:".$data['Traces'][$i]['AcceptTime']."<br/>地址:".$data['Traces'][$i]['AcceptStation']."<br/>";
}
echo "您查询的单号是:".$data['LogisticCode']."<br/>
物流信息:<br/>".$str."";
}
//---------------------------------------------
/**
 * Json方式 查询订单物流轨迹
 *$kgs string 快递公司
 *$number string 快递单号
 */
function getOrderTracesByJson($kgs,$number){
$requestData= "{'OrderCode':'','ShipperCode':'$kgs','LogisticCode':'$number'}";
$datas = array(
    'EBusinessID' => EBusinessID,
    'RequestType' => '1002',
    'RequestData' => urlencode($requestData) ,
    'DataType' => '2',
  );
  $datas['DataSign'] = encrypt($requestData, AppKey);
$result=sendPost(ReqURL, $datas);
//根据公司业务处理返回的信息......
return $result;
}
/**
 * post提交数据 
 * @param string $url 请求Url
 * @param array $datas 提交的数据 
 * @return url响应返回的html
 */
function sendPost($url, $datas) {
  $temps = array();
  foreach ($datas as $key => $value) {
    $temps[] = sprintf('%s=%s', $key, $value);
  }
  $post_data = implode('&', $temps);
  $url_info = parse_url($url);
if(empty($url_info['port']))
{
$url_info['port']=80;
}
  $httpheader = "POST " . $url_info['path'] . " HTTP/1.0rn";
  $httpheader.= "Host:" . $url_info['host'] . "rn";
  $httpheader.= "Content-Type:application/x-www-form-urlencodedrn";
  $httpheader.= "Content-Length:" . strlen($post_data) . "rn";
  $httpheader.= "Connection:closernrn";
  $httpheader.= $post_data;
  $fd = fsockopen($url_info['host'], $url_info['port']);
  fwrite($fd, $httpheader);
  $gets = "";
$headerFlag = true;
while (!feof($fd)) {
if (($header = @fgets($fd)) && ($header == "rn" || $header == "n")) {
break;
}
}
  while (!feof($fd)) {
$gets.= fread($fd, 128);
  }
  fclose($fd); 
  return $gets;
}
/**
 * 电商Sign签名生成
 * @param data 内容  
 * @param appkey Appkey
 * @return DataSign签名
 */
function encrypt($data, $appkey) {
  return urlencode(base64_encode(md5($data.$appkey)));
}
?>

效果图:

图片 2

php调用快递鸟接口暗意图

快递集团编码:

编码 名称
AJ 安捷快递
ANE 安能物流
AXD 安信达快递
BQXHM 北青小红帽
BFDF 百福东方
BTWL 百世快运
CCES CCES快递
CITY100 城市100
COE COE东方快递
CSCY 长沙创一
CDSTKY 成都善途速运
DBL 德邦
DSWL D速物流
DTWL 大田物流
EMS EMS
FAST 快捷速递
FEDEX FEDEX联邦(国内件)
FEDEX_GJ FEDEX联邦(国际件)
FKD 飞康达
GDEMS 广东邮政
GSD 共速达
GTO 国通快递
GTSD 高铁速递
HFWL 汇丰物流
HHTT 天天快递
HLWL 恒路物流
HOAU 天地华宇
hq568 华强物流
HTKY 百世快递
HXLWL 华夏龙物流
HYLSD 好来运快递
JGSD 京广速递
JIUYE 九曳供应链
JJKY 佳吉快运
JLDT 嘉里物流
JTKD 捷特快递
JXD 急先达
JYKD 晋越快递
JYM 加运美
JYWL 佳怡物流
KYWL 跨越物流
LB 龙邦快递
LHT 联昊通速递
MHKD 民航快递
MLWL 明亮物流
NEDA 能达速递
PADTF 平安达腾飞快递
QCKD 全晨快递
QFKD 全峰快递
QRT 全日通快递
RFD 如风达
SAD 赛澳递
SAWL 圣安物流
SBWL 盛邦物流
SDWL 上大物流
SF 顺丰快递
SFWL 盛丰物流
SHWL 盛辉物流
ST 速通物流
STO 申通快递
STWL 速腾快递
SURE 速尔快递
TSSTO 唐山申通
UAPEX 全一快递
UC 优速快递
WJWL 万家物流
WXWL 万象物流
XBWL 新邦物流
XFEX 信丰快递
XYT 希优特
XJ 新杰物流
YADEX 源安达快递
YCWL 远成物流
YD 韵达快递
YDH 义达国际物流
YFEX 越丰物流
YFHEX 原飞航物流
YFSD 亚风快递
YTKD 运通快递
YTO 圆通速递
YXKD 亿翔快递
YZPY 邮政平邮/小包
ZENY 增益快递
ZHQKD 汇强快递
ZJS 宅急送
ZTE 众通快递
ZTKY 中铁快运
ZTO 中通速递
ZTWL 中铁物流
ZYWL 中邮物流
AMAZON 亚马逊物流
SUBIDA 速必达物流
RFEX 瑞丰速递
QUICK 快客快递
CJKD 城际快递
CNPEX CNPEX中邮快递
HOTSCM 鸿桥供应链
HPTEX 海派通物流公司
AYCA 澳邮专线
PANEX 泛捷快递
PCA PCA Express
UEQ UEQ Express

博主近来急需做一个物流新闻查询,就去英特网查找二个快递鸟的API接口,再次回到值是以JSON格式,...

  WordPress基于php开荒,使用mysql数据库。要先运转WordPress,就要先搭建它的运作境遇。博主用的是phpStudy集成碰着,提出新手使用,因为博主从事JavaWeb开辟,本着仅仅使用的Wordp的供给,并从未一定安装php的费用条件。

贯彻玩主电影票接口(新空气开垦)的查询和下单等效能;

2、服务端程序SocketServer.php

phpStudy集成了php mysql apache,有了它,大家就可见一贯设置WordPress了。
phpStudy官网:http://www.phpstudy.net/
pspStudy使用教程(建议菜鸟):http://www.php.cn/course/639.html
下载安装最新版就可以,最新版是2017版,博主使用的是解压版本phpStudy二〇一五1103:http://www.phpstudy.net/download.html

服务器架设:

<?php  
//确保在连接客户端时不会超时  
set_time_limit(0);  
//设置IP和端口号  
$address = "127.0.0.1";  
$port = 3046; 
/** 
 * 创建一个SOCKET  
 * AF_INET=是ipv4 如果用ipv6,则参数为 AF_INET6 
 * SOCK_STREAM为socket的tcp类型,如果是UDP则使用SOCK_DGRAM 
*/  
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() fail:" . socket_strerror(socket_last_error()) . "/n");  
//阻塞模式  
socket_set_block($sock) or die("socket_set_block() fail:" . socket_strerror(socket_last_error()) . "/n");  
//绑定到socket端口  
$result = socket_bind($sock, $address, $port) or die("socket_bind() fail:" . socket_strerror(socket_last_error()) . "/n");  
//开始监听  
$result = socket_listen($sock, 4) or die("socket_listen() fail:" . socket_strerror(socket_last_error()) . "/n");  
echo "OKnBinding the socket on $address:$port ... ";  
echo "OKnNow ready to accept connections.nListening on the socket ... n";  
do { // never stop the daemon  
    //它接收连接请求并调用一个子连接Socket来处理客户端和服务器间的信息  
    $msgsock = socket_accept($sock) or  die("socket_accept() failed: reason: " . socket_strerror(socket_last_error()) . "/n");  
    while(1){
  //读取客户端数据  
  echo "Read client data n";  
  //socket_read函数会一直读取客户端数据,直到遇见n,t或者\0字符.PHP脚本把这写字符看做是输入的结束符.  
  $buf = socket_read($msgsock, 8192);  
  echo "Received msg: $buf   n";

  if($buf == "bye"){
   //接收到结束消息,关闭连接,等待下一个连接
   socket_close($msgsock);
   continue;
  }

  //数据传送 向客户端写入返回结果  
  $msg = "welcome n";  
  socket_write($msgsock, $msg, strlen($msg)) or die("socket_write() failed: reason: " . socket_strerror(socket_last_error()) ."/n");    
 }  

} while (true);  
socket_close($sock);  
?>

集成景况筹划

选好安装路线

图片 3

博主安装在 E:StarProjectphpStudy 这一个路子,路线下

图片 4

张开程序,傻瓜式运行。
动用MySQL管理工科具,建贰个数据库,名字为:wpblog

图片 5

图片 6

到此地,集成蒙受便是搭建好了(这么轻易吗?没有错,就那样轻松。)

Apache php

3、客户端程序SocketClient.php

WordPress安装

WordPress官网:https://codex.wordpress.org/ 下载解压至路线 E:StarProjectphpStudyWWW,重命名wordpress01

图片 7

开拓浏览器访问:http://localhost:8088/wordpress01/,会提示安装。

图片 8

006.png

点击安装就可以

图片 9

安装成功唤醒

图片 10

前段时间你能够经过后台,登入你的站点处理页面了。

后台地址:http://localhost:8088/wordpress01/wp-login.php 站点首页http://localhost:8088/wordpress01(暗中同意访问/wordpress01/index.php)

fgparams.cfg:

<?php  
set_time_limit(0);  

$host = "127.0.0.1";  
$port = 3046;  
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)or die("Could not create  socketn");  

$connection = socket_connect($socket, $host, $port) or die("Could not connet servern"); 
socket_write($socket, "hello socket") or die("Write failedn");
while ($buff = socket_read($socket, 1024, PHP_NORMAL_READ)) {  
    echo("Response was:" . $buff . "n");
 echo("input what you want to say to the server:n");
 $text = fgets(STDIN);
 socket_write($socket, $text);
}  
socket_close($socket);
?>

本文由ca88发布,转载请注明来源

关键词: ca88网址 WordPress