我正在编写一个REST Web服务,并且想知道如何处理put或delete参数是PHP。
我正在接受如下输入,
$input = file_get_contents('php://input');
echo $input;
output = imei = 1234567890& email = hello%40gmail1.com
我如何访问这些变量,如
echo $_POST['imei'];
echo $_POST['email'];
echo $_GET['imei'];
echo $_GET['email'];
我发现在php中没有像$ _PUT或$ _DELETE来处理输入参数。得到这个的方法是什么?
答案 0 :(得分:8)
你能尝试这个吗,PHP没有内置的方法来实现这一点,可以从传入的流中读取到PHP,php://input
。
parse_str(file_get_contents("php://input"));
EX:
if($_SERVER['REQUEST_METHOD'] == 'GET') {
echo "this is a get request\n";
echo $_GET['fruit']." is the fruit\n";
echo "I want ".$_GET['quantity']." of them\n\n";
} elseif($_SERVER['REQUEST_METHOD'] == 'PUT') {
echo "this is a put request\n";
parse_str(file_get_contents("php://input"),$post_vars);
echo $post_vars['fruit']." is the fruit\n";
echo "I want ".$post_vars['quantity']." of them\n\n";
}
参考:http://www.lornajane.net/posts/2008/accessing-incoming-put-data-from-php
答案 1 :(得分:0)
This answer可能有所帮助。请务必检查您的网络服务器是否支持PUT和DELETE请求,否则请尝试给定的解决方法。
答案 2 :(得分:-1)
不幸的是,默认情况下,php不处理放置或删除请求。我创建了一个库来处理这种请求。它还处理多部分请求(PUT PATCH DELETE等)
找到它