>  기사  >  백엔드 개발  >  PHP XML 헤더

PHP XML 헤더

WBOY
WBOY원래의
2024-08-29 13:00:52699검색

PHP XML 헤더는 text/html의 기본 헤더 콘텐츠 대신 PHP 파일에서 출력되는 XML 콘텐츠 유형입니다. 헤더 콘텐츠 유형을 XML로 설정하면 브라우저에 대한 출력이 XML 형식임을 나타냅니다. XML은 Extensible Markup Language의 약자로 문서 인코딩 규칙을 나타냅니다. 오픈 소스 프로그래밍 언어인 PHP는 서버 측에서 웹 콘텐츠와 애플리케이션을 동적으로 설정하는 데 사용됩니다. PHP에서 동적 HTML 콘텐츠가 생성되는 방식과 유사하게 PHP에서도 동적 XML 콘텐츠를 생성할 수 있습니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문

다음은 PHP XML 헤더의 구문입니다.

<?php header('Content-Type: text/xml'); ?>

위는 PHP XML 헤더 사용시 XML로 변경되는 Content-type의 기본 구문입니다.

header(header, replace, http_response_code)

기본 헤더 기능은 원시 HTTP 헤더를 클라이언트에 보냅니다. 출력이 전송되기 전에 호출됩니다.

인수:

  • header: 전송할 헤더 문자열을 지정하는 필수 파라미터입니다.
  • replace: 헤더가 이전 헤더를 대체해야 하는지 아니면 동일한 유형의 새 헤더를 추가해야 하는지를 나타냅니다. 선택적 매개변수이며 기본값은 TRUE입니다. 즉, 대체됩니다. Boolean FALSE는 동일한 유형의 여러 헤더를 허용합니다.
  • http_response_code: HTTP 응답 코드를 특정 값으로 강제하며 선택적 매개변수입니다.
<?php
header ("Content-Type:text/xml");
?>
<xml_content>
…………………………
</xml_content>

PHP에서는 브라우저로 전송되는 header()가 발생하기 전에는 출력이 발생할 수 없습니다. 헤더의 Content-Type은 브라우저에 콘텐츠 처리 방법을 알려줍니다. 예를 들어, 브라우저가 지원할 수 없는 PDF 파일이 있는 경우 다른 응용 프로그램을 사용할 수 있는 옵션이 제공됩니다. 시스템에서 다른 애플리케이션을 사용하라는 메시지가 표시되거나 특정 애플리케이션을 다운로드하라는 메시지가 표시됩니다.

Content-type이 text/xml인 경우 파일이 us-ascii로 처리되므로 문자 세트가 지정되지 않습니다. 다른 문자셋의 경우 헤더에 지정해야 합니다. PHP에서 XML을 사용하는 경우 Content-type은 'application/xml'로 지정되고 문자 세트는 'utf-8'로 지정됩니다. 콘텐츠 유형 헤더는 HTTP 프로토콜의 일부이며 클라이언트 또는 서버에 예상되는 데이터 유형과 이를 해석하는 방법을 알려줍니다.

PHP XML 헤더 예시

아래에는 다양한 예가 나와 있습니다.

예시 #1

코드:

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<note>";
echo "Hello, this is first PHP XML header";
echo "\n";
echo "<message>Run the code to see the output</message>";
echo "</note>";
?>
</body>
</html>

출력:

PHP XML 헤더

여기서 콘텐츠 유형은 헤더이며 이제 XML 형식입니다.

XML은 장치 중립적, 공급업체 중립적, 플랫폼 중립적인 XML 도구와 광범위한 웹 사용자에서 지원됩니다.

Content-type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8"?>

위는 text/xml과 함께 사용하도록 권장되는 charset 값입니다. MIME 및 xml 프로세서는 엔터티를 UTF-8로 묶인 것으로 간주합니다. SMTP 요청을 사용하여 데이터를 전송하는 경우 xml은 콘텐츠 전송 인코딩 또는 base64 인코딩을 사용해야 합니다. ESMTP, NNTP, HTTP 등과 같은 다른 유형의 요청에는 콘텐츠 전송 인코딩이 필요하지 않습니다.

Content-type: text/xml; charset="utf-16"
{BOM}<?xml version='1.0' encoding='utf-16'?>

utf-16 문자 집합은 CR 및 LF 변환을 수행하지 않고 바이너리 클린 프로토콜을 사용하여 xml이 HTTP를 통해 전송되는 경우에만 사용됩니다. HTTP는 바이너리 프로토콜이므로 여기서는 콘텐츠 전송 인코딩이 필요하지 않습니다.

Content-type: text/xml
{BOM}<?xml version="1.0" encoding="utf-16"?>

여기서 charset 매개변수는 생략되었습니다. 이러한 경우 XML 프로세서는 문자 세트를 'us-ascii'로 가정합니다. 이 기본값은 text/xml이 HTTP 요청을 사용하여 전송되는 경우에 적용됩니다.

단, text/xml 헤더에는 charset 생략을 전혀 권장하지 않습니다.

Content-type: application/xml; charset="utf-16"
{BOM}<?xml version="1.0"?>

application/xml과 같은 헤더 콘텐츠 형식으로 사용하는 것이 좋습니다. 여기에 문자 세트가 제공되므로 xml 프로세서는 엔터티를 utf-16 인코딩으로 처리합니다.

Content-type: application/xml
<?xml version='1.0'?>

여기에는 BOM 매개변수도 없고 charset 매개변수도 없습니다. 프로세서를 인식하지 못하는 XML은 XML 엔터티의 문자 집합에 대해 어떠한 가정도 해서는 안 됩니다.

예시 #2

코드:

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: application/xml");
$arr =[
"empName" => "Karthik",
"empid" => 675,
"role" => "UI developer",
"age" => 25,
"city" => "Vizag"
];
echo json_encode($arr);
?>
</body>
</html>

출력:

PHP XML 헤더

예시 #3

코드:

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
$data = [1,2,3,4,5,6,7,8,9];
echo json_encode($data);
?>
</body>
</html>

출력:

PHP XML 헤더

결론

이것으로 'PHP XML 헤더' 주제를 마치겠습니다. 우리는 PHP XML 헤더가 무엇인지 살펴보았습니다. 콘텐츠 유형을 XML로 변경하면 http 요청-응답에 많은 차이가 발생합니다. PHP 코드에서 xml 헤더를 선언하는 구문을 분석했습니다. 문자 세트는 전송되는 데이터의 형식을 설명하는 PHP의 중요한 부분 중 하나입니다. 기본 us-ascii 문자 세트인 utf-8, utf-16 등 다양한 문자 세트를 보았습니다. 또한 위에 나열된 일부 예에서 php xml 헤더가 어떻게 작동하는지 확인했습니다.

위 내용은 PHP XML 헤더의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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