Есть ли способ получить доступ к данным, которые были отправлены с помощью метода HTTP PUT, отличного от $putdata = fopen("php://input", "r");
?
Я никогда не работал с методами PUT
и DELETE
и $putdata = fopen("php://input", "r");
кажется немного отрывочным. Будет ли он работать повсюду, требуется конкретная конфигурация сервера / php.ini?
Я знаю, что могу получить метод запроса от $_SERVER['REQUEST_METHOD'];
Но будут ли данные в $_REQUEST
, если да, то о чем идет php://input
? И как мне получить доступ к данным, которые были отправлены через DELETE
?
Нет, вам нужно будет вручную разобрать запрос. $_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, нет стандартного ограничения.