Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get PUT/DELETE arguments in PHP

i am writing a REST webservice and would like to know how can i handle put or delete argument is PHP.

i am taking the inputs as following,

$input = file_get_contents('php://input');
echo $input;

output = imei=1234567890&email=hello%40gmail1.com

how can i access these variables like

echo $_POST['imei'];
echo $_POST['email'];
echo $_GET['imei'];
echo $_GET['email'];

i found there is nothing like $_PUT or $_DELETE in php to handle the input params. what is the way to get this ?

like image 214
dev1234 Avatar asked Dec 02 '13 04:12

dev1234


People also ask

How to create DELETE function in PHP?

There is no delete() function in PHP. If you need to delete a file, look at the unlink() function.

How to DELETE something in PHP?

There is no delete keyword or function in the PHP language. If you arrived at this page seeking to delete a file, try unlink(). To delete a variable from the local scope, check out unset().

How to DELETE record from file in PHP?

To delete a file in PHP, use the unlink function.

How to DELETE PHP file in PHP?

The unlink() function deletes a file.


1 Answers

Can you try this, PHP doesn't have a built-in way to do this, can be read from the incoming stream to 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";
}

Ref: http://www.lornajane.net/posts/2008/accessing-incoming-put-data-from-php

like image 76
Krish R Avatar answered Oct 13 '22 18:10

Krish R