>백엔드 개발 >PHP 튜토리얼 >PHP로 JSON POST를 수신하는 방법

PHP로 JSON POST를 수신하는 방법

WBOY
WBOY원래의
2024-08-28 11:31:041186검색

How to Receive JSON POST with PHP

PHP에서 JSON POST 요청을 받으려면 다음 단계를 따르세요.

  • PHP 스크립트로 전송되는 요청이 JSON 개체 형식인지 확인하세요.

  • PHP 스크립트에서 file_get_contents('php://input') 함수를 사용하여 원시 POST 데이터를 검색하세요. 이 함수는 HTTP 요청의 원시 입력 스트림을 읽습니다.

  • json_decode() 함수를 사용하여 수신된 JSON 데이터를 PHP 연관 배열 또는 객체로 디코딩합니다.

  • 그러면 디코딩된 데이터에 액세스하여 필요한 작업이나 처리를 수행할 수 있습니다.

PHP에서 JSON POST 요청을 받는 방법에는 여러 가지가 있습니다. 세 가지 일반적인 방법은 다음과 같습니다

  • file_get_contents('php://input') 사용

  • $_POST 슈퍼글로벌 사용

  • $_REQUEST와 함께 json_decode() 사용

file_get_contents('php://input') 사용

file_get_contents('php://input') 메서드를 사용하여 PHP에서 JSON POST 요청을 받으려면 다음 단계를 따르세요.

Application/json으로 설정된 Content-Type 헤더를 사용하여 요청 본문에 JSON 데이터를 보냅니다.

PHP 스크립트에서 file_get_contents('php://input') 함수를 사용하여 원시 POST 데이터를 검색하세요.

json_decode() 함수를 사용하여 수신된 JSON 데이터를 PHP 연관 배열 또는 객체로 디코딩합니다.

그러면 디코딩된 데이터에 액세스하여 필요한 작업이나 처리를 수행할 수 있습니다.

다음은 file_get_contents('php://input')를 사용하여 JSON POST 요청을 수신하고 처리하는 방법을 보여주는 예제 코드 조각입니다.

으아아아

이 예에서 JSON POST 데이터는 file_get_contents('php://input')를 사용하여 검색되고 $jsonData 변수에 저장됩니다. 그런 다음 json_decode() 함수를 사용하여 JSON 데이터를 $data 변수에 저장되는 PHP 연관 배열로 디코딩합니다.

적절한 배열 키(예: $data['name'], $data['age'])를 사용하여 수신된 데이터에 액세스하고 특정 요구 사항에 따라 필요한 작업이나 처리를 수행할 수 있습니다.

잘못된 JSON으로 인해 JSON 디코딩이 실패하는 등의 오류 사례를 처리하는 것을 잊지 마세요. 위의 예에서는 이 시나리오를 처리하기 위해 적절한 HTTP 응답 코드(400 Bad Request)와 오류 메시지가 제공됩니다.

$_POST 슈퍼글로벌 사용

$_POST 슈퍼글로벌을 사용하여 PHP에서 JSON POST 요청을 받으려면 다음 단계를 따르세요.

Application/json으로 설정된 Content-Type 헤더를 사용하여 요청 본문에 JSON 데이터를 보냅니다.

PHP 스크립트에서 $_POST 슈퍼글로벌의 JSON 데이터에 액세스하세요.

JSON 데이터는 자동으로 구문 분석되어 $_POST에서 연관 배열로 사용할 수 있습니다.

그러면 수신된 데이터에 액세스하여 필요한 작업이나 처리를 수행할 수 있습니다.

Example

다음은 $_POST 슈퍼 전역을 사용하여 JSON POST 요청을 수신하고 처리하는 방법을 보여주는 예제 코드 조각입니다.

으아아아

이 예에서 JSON POST 데이터는 자동으로 구문 분석되어 $_POST 슈퍼 전역에서 사용할 수 있습니다. 수신된 데이터는 연관 배열로 액세스할 수 있는 $data 변수에 저장됩니다.

적절한 배열 키(예: $data['name'], $data['age'])를 사용하여 수신된 데이터에 액세스하고 특정 요구 사항에 따라 필요한 작업이나 처리를 수행할 수 있습니다.

데이터가 수신되지 않거나 요청에 유효한 JSON이 포함되어 있지 않은 경우 그에 따라 오류 사례를 처리할 수 있습니다. 위의 예에서는 JSON 데이터가 수신되지 않는 경우를 처리하기 위해 적절한 HTTP 응답 코드(400 Bad Request)와 오류 메시지가 제공됩니다.

$_REQUEST

와 함께 json_decode() 사용

$_REQUEST와 함께 json_decode() 함수를 사용하여 PHP에서 JSON POST 요청을 받으려면 다음 단계를 따르세요.

Application/json으로 설정된 Content-Type 헤더를 사용하여 요청 본문에 JSON 데이터를 보냅니다.

PHP 스크립트에서 file_get_contents('php://input') 함수를 사용하여 원시 POST 데이터를 검색하세요.

json_decode() 함수를 사용하여 수신된 JSON 데이터를 PHP 연관 배열 또는 객체로 디코딩합니다.

디코딩된 데이터를 $_REQUEST 슈퍼글로벌에 할당합니다.

Example

다음은 $_REQUEST와 함께 json_decode()를 사용하여 JSON POST 요청을 수신하고 처리하는 방법을 보여주는 예제 코드 조각입니다.

<?php
// Retrieve the raw POST data
$jsonData = file_get_contents('php://input');
// Decode the JSON data into a PHP associative array
$data = json_decode($jsonData, true);
// Assign the decoded data to $_REQUEST
$_REQUEST = $data;
// Access the data and perform operations
$name = $_REQUEST['name'];
$age = $_REQUEST['age'];
// Perform further processing or respond to the request
// ...
?>

In this example, the JSON POST data is retrieved using file_get_contents('php://input') and stored in the $jsonData variable. The json_decode() function is then used to decode the JSON data into a PHP associative array, which is stored in the $data variable.

The decoded data is assigned to the $_REQUEST superglobal, making it accessible as an associative array. You can then access the received data using the appropriate array keys (e.g., $_REQUEST['name'], $_REQUEST['age']), and perform any necessary operations or processing based on your specific requirements.

Keep in mind that modifying the $_REQUEST superglobal is not recommended in some cases, as it combines data from various sources (GET, POST, and COOKIE), which may introduce security risks. It's generally safer to use the specific superglobal ($_GET, $_POST, or $_COOKIE) depending on the source of the data.

Conclusion

These methods provide different approaches to receive and process JSON POST requests in PHP. The choice of method depends on your specific use case and preferences. The first method gives you more control and flexibility, while the latter two methods utilize built-in PHP features for handling JSON data.

위 내용은 PHP로 JSON POST를 수신하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.