Php 如何获取所有HTTP PUT的列表;参数“;从当前HTTP请求的主体中?

Php 如何获取所有HTTP PUT的列表;参数“;从当前HTTP请求的主体中?,php,Php,我试过使用$\u PUT,但看起来这个变量不存在。只有$\u-GET和$\u-POST和$\u-REQUEST也只包含GET、POST和cookies没有“放置参数”这样的东西。使用PUT方法发送的HTTP请求包含请求正文。此正文可从php://inputstream 我发现了一篇博客文章,描述了如果使用PUT方法发送类似post的参数,如何解析请求体:没有“PUT参数”这样的东西。使用PUT方法发送的HTTP请求包含请求正文。此正文可从php://inputstream 我发现了一篇博客文章,

我试过使用
$\u PUT
,但看起来这个变量不存在。只有
$\u-GET
$\u-POST
$\u-REQUEST
也只包含
GET
POST
cookies
没有“放置参数”这样的东西。使用PUT方法发送的HTTP请求包含请求正文。此正文可从
php://input
stream

我发现了一篇博客文章,描述了如果使用PUT方法发送类似post的参数,如何解析请求体:

没有“PUT参数”这样的东西。使用PUT方法发送的HTTP请求包含请求正文。此正文可从
php://input
stream

我发现了一篇博客文章,描述了如果使用PUT方法发送类似post的参数,如何解析请求正文:

我最后得出以下结论:

if($_SERVER['REQUEST_METHOD'] == 'PUT') {
    echo 'This is a HTTP PUT request.<br />';
    parse_str(file_get_contents('php://input'), $put);
    echo $put['user'] . '<br /><br />';
}
if($\u服务器['REQUEST\u METHOD']=='PUT'){
echo“这是一个HTTP PUT请求。
”; 解析\u str(文件\u获取\u内容('php://input),$put); echo$put['user']。

; }
我的结局是:

if($_SERVER['REQUEST_METHOD'] == 'PUT') {
    echo 'This is a HTTP PUT request.<br />';
    parse_str(file_get_contents('php://input'), $put);
    echo $put['user'] . '<br /><br />';
}
if($\u服务器['REQUEST\u METHOD']=='PUT'){
echo“这是一个HTTP PUT请求。
”; 解析\u str(文件\u获取\u内容('php://input),$put); echo$put['user']。

; }
阅读一个人经常使用的工具的文档会有所帮助:看看这个。@AlokPatel谢谢,我几秒钟前刚刚找到了同样的工具。在我用谷歌搜索错误的关键词之前,我的搜索结果是空的。这看起来真的很好而且很简单。阅读一个人经常使用的工具的文档会有所帮助:看看这个。@AlokPatel谢谢,我几秒钟前刚刚找到了同样的工具。在我用谷歌搜索错误的关键词之前,我的搜索结果是空的。这看起来非常好而且简单。
php://input
让我走上了正确的道路。谢谢。
php://input
让我走上了正确的道路。谢谢。你对待普特就像对待波斯特一样。如果这样做可以解决您的问题,那么正确的解决方案几乎肯定是“使用POST请求代替”@Quentin我需要为我正在开发的RESTful API放置、修补和删除。。。我不能只使用GET和POST,不要求RESTful API支持所有HTTP方法。如果你打算像对待POST一样对待PUT,那么就没有理由支持PUT,而不仅仅是首先使用POST。如果您打算支持PUT,那么请正确地支持它(即存储原始请求正文,以便将来当同一URL收到GET请求时,您返回相同的请求正文)。@Quentin我知道。但是我们的客户希望我们遵循这个“标准/协议”(不知道怎么称呼它):所以我不得不这么做。也是标准的一部分(但是如果你要根据标准支持PUT,那么你必须像PUT而不是POST一样对待它),你就是像POST一样对待PUT。如果这样做可以解决您的问题,那么正确的解决方案几乎肯定是“使用POST请求代替”@Quentin我需要为我正在开发的RESTful API放置、修补和删除。。。我不能只使用GET和POST,不要求RESTful API支持所有HTTP方法。如果你打算像对待POST一样对待PUT,那么就没有理由支持PUT,而不仅仅是首先使用POST。如果您打算支持PUT,那么请正确地支持它(即存储原始请求正文,以便将来当同一URL收到GET请求时,您返回相同的请求正文)。@Quentin我知道。但是我们的客户希望我们遵循这个“标准/协议”(不知道怎么称呼它):所以我不得不这么做。也是标准的一部分(但是如果您要根据标准支持PUT,那么您必须将其视为PUT而不是POST)