>  기사  >  백엔드 개발  >  PHP가 xml 데이터를 수신할 수 없으면 어떻게 해야 합니까?

PHP가 xml 데이터를 수신할 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2022-10-24 11:19:101148검색

php에서 xml 데이터를 수신하지 못하는 문제에 대한 해결 방법: 1. "file_get_contents('php://input');" 방법을 사용하여 xml 데이터를 수신합니다. 2. "simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement')을 사용합니다. LIBXML_NOCDATA);" XML 데이터를 수신하는 방법입니다.

PHP가 xml 데이터를 수신할 수 없으면 어떻게 해야 합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

PHP가 xml 데이터를 수신할 수 없으면 어떻게 해야 하나요?

xml을 받아들이는 PHP의 일부 문제와 관련하여 simplexml_load_string이 데이터를 받을 수 없습니다

일반적으로 xml 데이터를 받아들이려면 이 두 가지 방법을 사용하세요

방법 1:

file_get_contents('php://input');

방법 2:

simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement', LIBXML_NOCDATA);

방법 1과 방법 2를 사용하는 것이 좋습니다 PHP에서 상위 버전은 폐기되었습니다

---------좋은 구분선--------------- - ---

서문: 회사의 프로젝트는 약간 오래되었으며 모두 방법 2를 사용합니다.

문제: 다른 사람이 작성한 인터페이스를 컬을 사용하여 요청하면 방법 2에서는 받을 수 없지만 방법 1에서는 받을 수 있습니다.

해결 방법: 테스트 후 설정해야 하는 cur 매개변수의 Content-Type은 text/xml

Code:cur_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf- 8" ));

PHP cur 매개변수의 Content-Type 기본값은 application/x-www-form-urlencoded, tmd입니다! 방법 2를 사용하면 http 요청 헤더의 콘텐츠 유형이 결정됩니다

권장 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP가 xml 데이터를 수신할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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