PHP 访问传入的 PUT 数据 [英] PHP accessing Incoming PUT Data
问题描述
PUT 类似于 POST 吗?
Is PUT similar to POST?
我收到了一些入站请求 (apache):[REQUEST_METHOD] => PUT
I'm getting some inbound requests (apache) with this: [REQUEST_METHOD] => PUT
我以前从未使用过这种请求方法.所以我不得不问我是否应该以不同的方式处理它.
I've never worked with this request method before. So I have to ask if I'm supposed to process it differently.
向我发送数据的人声称正在发送 xml.所以我的脚本有这个:
The people sending me data are claiming to be sending xml. So my script has this:
<?php
if(isset($HTTP_RAW_POST_DATA)) {
mail("me@myemail.com","some title i want", print_r($HTTP_RAW_POST_DATA, true));
}else{
die("not post data");
}
?>
我现在被困在这里.如果有 PUT 请求,我是否将 $HTTP_RAW_POST_DATA 替换为其他内容?
I'm stuck here now. If there's a PUT request, do I replace $HTTP_RAW_POST_DATA with something else?
推荐答案
根据 php 文档,PUT
数据可以使用 php://input
流(优于 $HTTP_RAW_POST_DATA
).
According to the php docs, PUT
data can be read using the php://input
stream (which is preferred over $HTTP_RAW_POST_DATA
).
$putdata = fopen("php://input", "r");
$str = stream_get_contents($putdata);
fclose($putdata);
这篇关于PHP 访问传入的 PUT 数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!