PHP 访问传入的 PUT 数据

标签 php put

PUT 与 POST 类似吗?

我收到了一些入站请求(apache): [REQUEST_METHOD] => 放置

我以前从未使用过此请求方法。所以我不得不问我是否应该以不同的方式处理它。

向我发送数据的人声称正在发送 xml。所以我的脚本是这样的:

<?php
if(isset($HTTP_RAW_POST_DATA)) {
    mail("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e68b83a68b9f838b878f8ac885898b" rel="noreferrer noopener nofollow">[email protected]</a>","some title i want", print_r($HTTP_RAW_POST_DATA, true)); 
}else{
    die("not post data");
}
?>

我现在被困在这里了。如果有 PUT 请求,我是否将 $HTTP_RAW_POST_DATA 替换为其他内容?

最佳答案

根据php docs , PUT 数据可以使用 php://input 读取流(优于 $HTTP_RAW_POST_DATA)。

$putdata = fopen("php://input", "r");
$str = stream_get_contents($putdata);
fclose($putdata);

关于PHP 访问传入的 PUT 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11422844/

相关文章:

php - 在数据库中获取玩家下一个排名 - Laravel 5.2

javascript - 在 WordPress 主题中放置并加载 jquery/js

Ruby:HTTP Put 方法

php - ZF2/Doctrine 不允许我保存收藏

php - 函数参数 php 不工作

php - Android - 使用 php 将图像上传到服务器的最佳方法

java - struts 中模型驱动的 PUT 请求存在问题吗?

php - 比较sql查询中以逗​​号分隔的2个字符串

apache - 重写 PUT 请求的 URL

php - 如何在 Laravel 中获取原始表单数据?