PHP POST 요청에서 JSON 데이터를 추출하는 방법
POST 요청을 통해 PHP 스크립트에 JSON 데이터를 제출할 때 본문에 액세스하는 방법 혼란스러울 수 있습니다. var_dump($_POST) 사용; 빈 배열을 반환합니다.
해결책: php://input 사용
요청 본문에 액세스하기 위해 PHP는 php://input을 제공합니다.
$entityBody = file_get_contents('php://input');
이 스트림에는 원시 POST 데이터가 포함되어 있습니다. STDIN은 php://input의 별칭이므로 stream_get_contents(STDIN)를 사용할 수도 있습니다.
注의사项:
function detectRequestBody() { $rawInput = fopen('php://input', 'r'); $tempStream = fopen('php://temp', 'r+'); stream_copy_to_stream($rawInput, $tempStream); rewind($tempStream); return $tempStream; }
제한 사항:
php://input은 Content-Type: multipart를 사용하는 요청에는 사용할 수 없습니다. /form-data, PHP가 다중 부분 데이터를 처리하므로
예:
PHP 코드에서 JSON 개체 {a:1}에 액세스하려면 다음을 사용하세요.
$json = json_decode(file_get_contents('php://input')); echo $json->a; // 1
위 내용은 PHP POST 요청에서 JSON 데이터에 올바르게 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!