$_POST: HTTP POST 메서드를 통해 전달된 변수 배열입니다. 자동 전역 변수입니다.
$GLOBALS['HTTP_RAW_POST_DATA']: 항상 원시 POST 데이터가 포함된 변수를 생성합니다. 이 변수는 인식할 수 없는 MIME 유형의 데이터가 발견된 경우에만 생성됩니다. $HTTP_RAW_POST_DATA는 enctype="multipart/form-data" 양식 데이터에 사용할 수 없습니다.
즉, 기본적으로 $GLOBALS['HTTP_RAW_POST_DATA']와 $_POST는 동일합니다.
하지만 게시된 데이터가 PHP에서 인식되지 않는 경우 $GLOBALS['HTTP_RAW_POST_DATA']를 사용하여 text/xml 또는 비누 등을 받을 수 있습니다.
추가 설명: PHP에서 기본적으로 인식하는 데이터 유형은 application/x-www.form-urlencoded 표준 데이터 유형입니다.
설명서에 이렇게 나와 있습니다
항상 원본 POST를 포함하는 변수를 생성하세요.
데이터. 그렇지 않으면 이 변수는 인식할 수 없는 MIME 유형의 데이터가 발견될 때만 생성됩니다. 그러나 원시 POST 데이터에 액세스하는 더 좋은 방법은 다음과 같습니다.
php://입력. enctype="multipart/form-data"에 대한 $HTTP_RAW_POST_DATA
양식 데이터를 사용할 수 없습니다.
질문: $HTTP_RAW_POST_DATA == $_POST
?
설명서에 따르면 대답은 '아니오'여야 합니다.
만약 다르다면 차이점은 무엇인가요?
다음과 같이 답을 알고 있습니다.
RAW/해석되지 않은 HTTP POst
다음을 사용하여 정보에 액세스할 수 있습니다.
$GLOBALS['HTTP_RAW_POST_DATA']
이는 다음과 같은 경우에 유용합니다.
post Content-Type은 PHP가 이해하는 것이 아닙니다(예:
text/xml).
즉, 기본적으로 $GLOBALS['HTTP_RAW_POST_DATA'] 및
$_POST도 마찬가지입니다. 그러나 게시된 데이터가 PHP에서 인식되지 않으면 다음을 사용할 수 있습니다.
$GLOBALS['HTTP_RAW_POST_DATA'] 수신(예: text/xml 또는 비누)
등.
기본적으로 PHP에서 인식되는 데이터 유형은 application/x-www.form-urlencoded 표준 데이터 유형입니다.
Content-Type=text/xml 사용
이 POST 데이터를 얻는 방법을 입력하고 XML 문서 내용을 PHP 서버에 제출하십시오.
RAW/해석되지 않은 HTTP POST
정보는 다음을 통해 접근할 수 있습니다: $GLOBALS['HTTP_RAW_POST_DATA']
이는 게시물의 Content-Type이 아닌 경우에 유용합니다.
PHP가 이해하는 것(예: text/xml).
PHP는 기본적으로 application/x-www.form-urlencoded 표준 데이터 유형만 인식하므로 text/xml과 같은 콘텐츠는 $_POST 배열로 구문 분석될 수 없습니다. 따라서 프로토타입을 보관하고 $GLOBALS['HTTP_RAW_POST_DATA']에 제공하세요.
받기 위해.
다른 항목이 있습니다 php://input
이 기능도 구현할 수 있습니다
php://input을 사용하면 POST의 원시 데이터를 읽을 수 있습니다. 그리고
$HTTP_RAW_POST_DATA보다 메모리에 대한 부담이 적고 특별한 php.ini가 필요하지 않습니다.
설정. php://input은 enctype="multipart/form-data"와 함께 사용할 수 없습니다.
앱
위 내용은 PHP의 $_POST 설명 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!