php怎么接受Postman发送的 raw数据?
封面图
•
2025-10-25
•
PHP
184
0
0
0
在 PHP 中,如果你使用 Postman 发送的是 **raw** 数据(比如 JSON、XML 或者纯文本),你可以通过 `php://input` 来获取原始的 POST 数据。 ### 1. 接收 raw JSON 数据 #### 示例:Postman 发送的 raw JSON 数据 ```json { "name": "John", "age": 30 } ``` #### PHP 接收代码: ```php <?php // 获取原始 POST 数据 $rawData = file_get_contents("php://input"); // 将 JSON 字符串转换为数组 $data = json_decode($rawData, true); // 使用数据 if (isset($data['name'])) { echo "Name: " . $data['name']; } else { echo "Name not found."; } ?> ``` --- ### 2. 接收 raw XML 数据 #### 示例:Postman 发送的 raw XML 数据 ```xml <user> <name>John</name> <age>30</age> </user> ``` #### PHP 接收代码: ```php <?php $rawData = file_get_contents("php://input"); // 将 XML 字符串解析为对象或数组 $xml = simplexml_load_string($rawData); $data = json_decode(json_encode($xml), true); // 转换为数组 // 使用数据 if (isset($data['name'])) { echo "Name: " . $data['name']; } else { echo "Name not found."; } ?> ``` --- ### 3. 接收 raw 文本数据(如 plain text) #### 示例:Postman 发送的 raw 文本 ``` Hello, this is a test. ``` #### PHP 接收代码: ```php <?php $rawData = file_get_contents("php://input"); echo "Received data: " . htmlspecialchars($rawData); ?> ``` --- ### 注意事项: - `$_POST` 只能接收 `application/x-www-form-urlencoded` 或 `multipart/form-data` 类型的数据。 - 如果你发送的是 `application/json` 或其他类型,应该使用 `php://input`。 - 在接收 JSON 数据前,建议先检查是否为有效的 JSON 格式: ```php if (json_last_error() === JSON_ERROR_NONE) { // 正确的 JSON } ``` --- ### 总结 | 数据类型 | 接收方式 | 示例代码 | |----------|----------------------|----------------------------------| | JSON | `php://input` + `json_decode` | `file_get_contents("php://input")` | | XML | `php://input` + `simplexml_load_string` | `simplexml_load_string(file_get_contents("php://input"))` | | 文本 | `php://input` | `file_get_contents("php://input")` | 如需进一步处理,请告诉我你具体用的是哪种格式,我可以提供更详细的示例。
上一篇:
3种PHP实现数据采集的方法
下一篇:
如何统计PHP程序的运行时间、耗费内存
标题录入,一次不能超过6条
留言
评论