PHP에서 POST 데이터 액세스: JSON 본문 디코딩
PHP에서 POST 요청을 처리하려면 제출된 데이터를 추출하기 위해 요청 본문에 액세스해야 합니다. JSON으로 인코딩된 본문을 수신할 때 적절한 접근 방식을 사용하여 원하는 정보를 검색하는 것이 중요합니다.
JSON 추출
POST 본문에서 JSON 데이터에 액세스하려면 , $_POST에 의존하지 마세요. 대신 file_get_contents('php://input')을 사용하세요.
$json_input = file_get_contents('php://input'); $data = json_decode($json_input, true);
이것은 원시 POST 본문을 문자열로 읽은 다음 json_decode()를 사용하여 PHP 배열로 디코딩합니다.
다중 부분/양식 데이터 처리
POST 요청에 multipart/form-data 인코딩을 사용하면 데이터가 자동으로 $_POST 슈퍼글로벌로 구문 분석됩니다. 그러나 이 경우에는 php://input을 사용하여 원시 JSON 본문에 액세스할 수 없습니다.
예
예를 들어, 다음과 같이 POST 요청을 제출하는 경우 다음 JSON 본문:
{"a": 1}
PHP 코드는 이를 다음과 같이 디코딩할 수 있습니다. 다음은 다음과 같습니다.
$json_input = file_get_contents('php://input'); $data = json_decode($json_input, true); var_dump($data['a']); // Outputs: 1
검색 가능성에 대한 참고 사항
php://input은 검색할 수 없으므로 한 번만 읽을 수 있습니다. 여러 읽기 작업을 위해 스트림을 보존해야 하는 경우 더 나은 메모리 관리를 위해 stream_copy_to_stream()을 사용하거나 php://temp를 사용하여 임시 스트림을 구성하는 것이 좋습니다.
위 내용은 PHP에서 JSON POST 데이터에 올바르게 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!