php xml 空格,php闭合标签输出多余空行使xml页面显示错误的处理
在PHP官方文檔中,曾經指出最好不要再結尾添加?>結束標記。但我們編程的習慣和使用的IDE都會為我
們自動建立php結束標記?>。這個標記使用在正常情況下是不影響程序的運行的。尤其在早期的php4中,這種
標記使用不當也不會影響最后的輸出。但我最近遇到了php腳本結束標記照成頁面無法顯示的問題。
首先wap最終的輸出時xml文件,如果xml文件格式有問題,則無法顯示結果。在多次檢查輸出過程發現并沒有
問題,同樣的代碼再另一臺測試機上顯示也無問題。通過firebug查看,最終的輸出
主 要原因,通過firebug分析,可以發現在輸出xml之前出現了空行,這個空行照成xml輸出不正常,找遍所有原文件并沒有任何輸出空行或者類似功能語 句。使用ob_clean逐行調試,發現在其中一個文件加載后,輸出出現了空行,最終發現是由于那個php文件結尾?>后有兩行空行。將空行去掉, 問題解決輸出正常。
究其原因,在網上搜索了相關資料,codeIgniter開發規范給出如下解釋:
PHP閉合標簽“?>” 在PHP中對PHP的分析器是可選的。 但是,如果使用閉合標簽,任何由開發者,用戶,或者FTP應用程序插入閉合標簽后面的空格都有可能會引起多余的輸出、php錯誤、之后的輸出無法顯示、空 白頁。因此,所有的php文件應該省略這個php閉合標簽,并插入一段注釋來標明這是文件的底部并定位這個文件在這個應用的相對路徑。這樣有利于你確定這 個文件已經結束而不是被刪節的。
// 錯誤的寫法 INCORRECT
// 正確的寫法 CORRECT:
Demo:
test.php
header("Content-type:text/xml");
include_once('sys_common.php');
echo'<?xml version="1.0" encoding="UTF-8"?>
';
// exit;
需要引入的系統文件sys_common.php
// do someing
// 注意:后邊這個閉合標簽需要去掉,這樣上邊引入的時候輸出xml就不會出錯了。
// ?>
OK,找到引入文件,去掉閉合標簽的就OK!
總結
以上是生活随笔為你收集整理的php xml 空格,php闭合标签输出多余空行使xml页面显示错误的处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php网页加查询框,Twentytwel
- 下一篇: oracle多线程类连接数,数据库连接数