PHP入门之局域网多站点访问、带参数请求、Json数据、Xml数据
来源:互联网 发布:天津绫致时装淘宝真假 编辑:程序博客网 时间:2024/05/20 14:44
1,局域网多站点访问
1,有一个yline.php文件,本地建立了两个站点,localhost和yline;
本地浏览器打开方式:
1)localhost:80/test/yline.php
2)yline:8080/yline.php
2,局域网默认访问的是80端口,所以需要配置以下几点,才能访问多个
1)监听端口
2)多站点配置,修改对应的端口
3,局域网,打开方式则为
1)ip:80/test/yline.php
2)ip:8080/yline.php
2,带参数请求
1,客户端请求链接(电脑ip:192.168.2.107)
http://192.168.2.107/test_space/TestJson170625/xml/SampleXml.php?format=呵呵哒
2,服务器端处理方式
$message = isset($_GET['format']) ? $_GET['format'] : "未上传数据"; // 客户端上传的数据
3,Json数据
1,客户端请求链接(电脑ip:192.168.2.107)
http://192.168.2.107/test_space/TestJson170625/json/SampleJson.php
2,请求返回数据
{
"code": 0,
"message": "成功",
"data": {
"id": 1,
"name": "yline"
}
}
3,PHP处理代码
// BaseCodeJson.php
<?php
class Response
{
/**
* 按Json方式输出通信数据
*
* @param number $code
* 状态吗
* @param string $message
* 提示信息
* @param array $data
* 数据
*/
public static function json($code = 0, $message = '', $data = array())
{
if (! is_numeric($code))
{
return '';
}
// 返回数据
$result = array(
'code' => $code,
'message' => $message,
'data' => $data
);
echo json_encode($result);
exit();
}
}
// SampleJson.php
<?php
require_once 'BaseCodeJson.php';
$arr = array(
'id' => 1,
'name' => 'yline'
);
Response::json(0, "成功", $arr);
4,Xml数据
1,客户端请求链接(电脑ip:192.168.2.107)
http://192.168.2.107/test_space/TestJson170625/xml/SampleXml.php
2,返回数据
<root>
<code>0</code>
<message>未上传数据</message>
<data>
<id>1</id>
<name>yline</name>
</data>
</root>
3,注意事项
1)返回Xml时,Php文件,格式
正确:<?php
错误:<?php ?>
如果,选择错误格式,返回xml开头会多几行,然后解析不出来了.
2)返回xml,需要设置:
header("Content-Type:text/xml"); // 让网页直接展示xml格式,而不仅仅是内容
4,PHP代码
// BaseCodeXml.php
<?php
class Response
{
public static function xml()
{
$xml = "<?xml version='1.0' encoding='UTF-8'?>\n";
$xml .= "<root>\n";
$xml .= "<code>200</code>\n";
$xml .= "<message>数据返回成功</message>\n";
$xml .= "<data>\n";
$xml .= "<id>200</id>\n";
$xml .= "<name>yline</name>\n";
$xml .= "</data>\n";
$xml .= "</root>";
return $xml;
}
/**
*
* @param number $code
* @param string $message
* @param array $data
* array不能为数字
* @return string
*/
public static function xmlEncode($code = 0, $message = '', $data = array())
{
if (! is_numeric($code))
{
return '';
}
// 返回数据
$result = array(
'code' => $code,
'message' => $message,
'data' => $data
);
$xml = "<?xml version='1.0' encoding='UTF-8'?>\n";
$xml .= "<root>\n";
$xml .= self::xmlToEncode($result);
$xml .= "</root>";
return $xml;
}
/**
*
* @param unknown $data
* 数组不能为数字,否则出错
* @return string
*/
public static function xmlToEncode($data)
{
$tempXml = "";
foreach ($data as $key => $value)
{
$tempXml .= "<{$key}>";
if (is_array($value))
{
$tempXml .= self::xmlToEncode($value);
} else
{
$tempXml .= $value;
}
$tempXml .= "</{$key}>\n";
}
return $tempXml;
}
}
// SampleXml.php
<?php
/**
* 1,组装字符串
* 2,DomDocument
* 3,XMLWriter
* 4,SimpleXml
*/
require_once 'BaseCodeXml.php';
header("Content-Type:text/xml"); // 让网页直接展示xml格式,而不仅仅是内容
/* echo Response::xml(); // 字符串拼接 */
$arr = array(
'id' => 1,
'name' => 'yline'
);
$message = isset($_GET['format']) ? $_GET['format'] : "未上传数据"; // 客户端上传的数据
echo Response::xmlEncode(0, $message, $arr); // 通过封装
有技术上的问题,或者想法,欢迎来交流
QQ联系:957339173@qq.com // 备注 CSDN
github:https://github.com/yline
阅读全文
0 0
- PHP入门之局域网多站点访问、带参数请求、Json数据、Xml数据
- XML 数据请求与JSON 数据请求
- PHP以json或xml格式返回请求数据
- ajax请求json数据最后带冒号
- C#HTTPPOST请求数据带参数
- (Java)使用Java发送带参数的http(GET)请求,获取json数据
- Post 请求参数 数据装载. 生成JSON
- IOS 请求数据解析 XML 和 JSON
- XMLhttpRequest 请求 XML,JSON ,POJO 数据
- php操作带中文的json数据
- php 请求返回json格式数据
- 简单的json数据请求(php)
- 使用JMeter进行一次简单的带json数据的post请求测试,json可配置参数
- Android访问php取回json数据
- Android访问php取回json数据
- Android访问php取回json数据
- Android访问php取回json数据实例
- Android访问php调取json数据
- struts2学习之---输入校验
- c++11 & c++ <valarray>
- [bzoj1934]: [ZJOI2009]狼和羊的故事
- 教你 Debug 的正确姿势——记一次 CoreMotion 的 Crash
- 23种设计模式-命令模式
- PHP入门之局域网多站点访问、带参数请求、Json数据、Xml数据
- Ten Simple Rules for Effective Statistical Practice
- Matlab 2016a 安装及破解教程
- 基于Java实现的二分查找算法
- JVM--java堆和栈、内存分配策略
- 23种设计模式-责任链模式
- linux 新建用户
- es6版模拟交通
- C++ 多维数组转C#