PHP 닫는 태그에서 중복된 빈 줄을 출력하고 XML 페이지에 오류를 표시할 때 오류를 처리하는 방법

高洛峰
풀어 주다: 2016-11-21 17:17:22
원래의
1205명이 탐색했습니다.

공식 PHP 문서에는 마지막에 ?> 닫는 태그를 추가하지 않는 것이 가장 좋다고 지적되어 있습니다. 하지만 우리의 프로그래밍 습관과 우리가 사용하는 IDE는
?>에 대한 PHP 닫는 태그를 자동으로 생성합니다. 이 표시의 사용은 정상적인 상황에서 프로그램의 작동에 영향을 미치지 않습니다. 특히 초기 PHP4에서는 이
태그를 잘못 사용해도 최종 출력에 영향을 미치지 않습니다. 그런데 최근 PHP 스크립트의 종료 태그를 페이지에 표시할 수 없는 문제가 발생했습니다.
우선 wap의 최종 출력은 xml 파일입니다. xml 파일 형식에 문제가 있으면 결과가 표시되지 않습니다. 여러 번 출력을 확인한 결과
문제는 없었고, 다른 테스트 머신에서도 동일한 코드가 문제 없이 출력된 것으로 나타났습니다. Firebug를 통해 보면 최종 출력

PHP 닫는 태그에서 중복된 빈 줄을 출력하고 XML 페이지에 오류를 표시할 때 오류를 처리하는 방법

PHP 닫는 태그에서 중복된 빈 줄을 출력하고 XML 페이지에 오류를 표시할 때 오류를 처리하는 방법

주된 이유는 Firebug 분석을 통해 이전에 빈 줄이 나타나는 것을 알 수 있기 때문입니다. xml이 출력됩니다. xml로 빈 줄이 출력되는 것은 모든 원본 파일을 검색해도 빈 줄이나 유사한 기능 설명이 출력되지 않습니다. ob_clean을 사용하여 한 줄씩 디버깅한 결과, 파일 중 하나가 로드된 후 출력에 빈 줄이 나타나는 것으로 나타났습니다. 마지막으로 PHP 파일 끝의 ?> 뒤에 두 개의 빈 줄이 있는 것으로 나타났습니다. . 빈 줄을 제거하면 문제가 해결되고 정상적으로 출력됩니다.
이유를 알아보기 위해 인터넷에서 관련 정보를 찾아보니, codeIgniter 개발 사양에는 다음과 같은 설명이 나와 있습니다.
PHP 닫는 태그 "?>" PHP 분석기는 PHP에서 선택 사항입니다. 그러나 닫는 태그를 사용하는 경우 개발자, 사용자 또는 FTP 응용 프로그램이 닫는 태그 뒤에 공백을 삽입하면 중복 출력, PHP 오류, 표시할 수 없는 후속 출력 및 빈 페이지가 발생할 수 있습니다. 따라서 모든 PHP 파일에서는 PHP 닫는 태그를 생략하고 이것이 파일의 맨 아래임을 나타내는 주석을 삽입하고 애플리케이션과 관련하여 파일을 찾아야 합니다. 이렇게 하면 파일이 종료되었고 삭제되지 않았는지 확인하는 데 도움이 됩니다.

 // 错误的写法 INCORRECT
<?php echo "Here&#39;s my code!"; ?>

// 正确的写法 CORRECT:
<?php echo "Here&#39;s my code!";
로그인 후 복사

데모:

test.php
<?php
header("Content-type:text/xml");
include_once(&#39;sys_common.php&#39;);

echo&#39;<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[测试]]></title>
<link><![CDATA[http://baidu.com]]></link>
<description><![CDATA[测试空行输出]]></description>
<language><![CDATA[zh-CN]]></language>
<pubDate><![CDATA[18.11.2016 14:54:02]]></pubDate>
<lastBuildDate><![CDATA[18.11.2016 14:54:02]]></lastBuildDate>
</channel>
</rss>&#39;;
// exit;
로그인 후 복사

가져와야 하는 시스템 파일 sys_common.php

<?php

  // do someing
  // 注意:后边这个闭合标签需要去掉,这样上边引入的时候输出xml就不会出错了。
  // ?>
로그인 후 복사

좋아, 가져온 파일을 찾아서 닫는 파일을 제거하세요. 태그하면 괜찮습니다!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿