使用PHP的HTTP PUT,DELETE和I / O流

时间:2013-04-30 21:14:43

标签: php http put http-delete

有什么方法可以访问通过除$putdata = fopen("php://input", "r");以外的HTTP PUT方法发送的数据吗?

我从未使用PUTDELETE方法,$putdata = fopen("php://input", "r");似乎有点粗略。是否需要特定的server / php.ini配置?

我知道我可以从$_SERVER['REQUEST_METHOD'];

获取请求方法

但数据是否会在$_REQUEST中,如果是,那么php://input是什么? 如何访问通过DELETE发送的数据?

1 个答案:

答案 0 :(得分:3)

不,您需要手动解析请求。 $_REQUEST仅包含来自GETPOST个请求的数据;对于你自己的其他一切。

如果您的HTTP请求有Content-Type: application/x-www-form-urlencoded,您可以使用parse_str非常轻松地将其解析为变量数组:

parse_str(file_get_contents('php://input'), $vars);
print_r($vars);

您可以将此内容类型与任何HTTP方法一起使用,没有标准限制。