簡體   English   中英

如何在 PHP 中獲取請求內容(正文)?

[英]How to get request content (body) in PHP?

我正在向內容中包含 XML 的 php 服務器發送請求:

POST /index3.php HTTP/1.0
Connection: Close
Accept: application/xml
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>
<root />

我已經檢查了全局變量(如$_GET$_POST$_ENV$_FILES$_REQUEST ...)但它們都是空的。

如何檢索服務器中的內容?

試試這個

$xml = file_get_contents('php://input');

手冊

php://input是一個只讀流,允許您從請求正文中讀取原始數據。

使用file_get_contents("php://input") (手冊)。

在 7.0 之前的 PHP 中,您還可以使用$HTTP_RAW_POST_DATA (取決於always_populate_raw_post_data設置)。

試試這個:

<?php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
    $xml = $GLOBALS["HTTP_RAW_POST_DATA"];
    $file = fopen("data.xml","wb");
    fwrite($file, $xml);
    fclose($file);
    echo($GLOBALS["HTTP_RAW_POST_DATA"]);
}
?>

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM