有什么方法可以访问通过除$putdata = fopen("php://input", "r");
以外的HTTP PUT方法发送的数据吗?
我从未使用PUT
和DELETE
方法,$putdata = fopen("php://input", "r");
似乎有点粗略。是否需要特定的server / php.ini配置?
我知道我可以从$_SERVER['REQUEST_METHOD'];
但数据是否会在$_REQUEST
中,如果是,那么php://input
是什么?
如何访问通过DELETE
发送的数据?
答案 0 :(得分:3)
不,您需要手动解析请求。 $_REQUEST
仅包含来自GET
和POST
个请求的数据;对于你自己的其他一切。
如果您的HTTP请求有Content-Type: application/x-www-form-urlencoded
,您可以使用parse_str
非常轻松地将其解析为变量数组:
parse_str(file_get_contents('php://input'), $vars);
print_r($vars);
您可以将此内容类型与任何HTTP方法一起使用,没有标准限制。