>  기사  >  백엔드 개발  >  PHP의 $_POST 설명 예

PHP의 $_POST 설명 예

零下一度
零下一度원래의
2017-07-27 14:58:262827검색

$_POST: HTTP POST 메서드를 통해 전달된 변수 배열입니다. 자동 전역 변수입니다.

$GLOBALS['HTTP_RAW_POST_DATA']: 항상 원시 POST 데이터가 포함된 변수를 생성합니다. 이 변수는 인식할 수 없는 MIME 유형의 데이터가 발견된 경우에만 생성됩니다. $HTTP_RAW_POST_DATAenctype="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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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