2012-11-02 143 views
1

我試圖通過PHP文件回顯XML文件。像這樣:PHP包含的XML文件

網址訪問viewxml.php ID = 1

PHP開放特定的XML文件,如"xmlfile_".$_GET['id'].".xml"並打印出來,好像他們正在訪問的XML文件本身。

我使用PHP的原因是做會話檢查,以確保他們被允許查看XML文件。

這就是我正在做的:

header("Content-type: text/xml; charset=utf-8"); 
// send the saved XML file. 
include "xmlfile_".$id.".xml"; 

這樣做給了我下面的GC XML錯誤:error.

並沒有什麼在它下面。

我已經嘗試了不同的方法,例如打印它或將其轉換爲字符串,但是在某些軟件上讀取XML時遇到問題。我希望你們中的一個能幫助我。

謝謝!

+0

XML文檔的結尾不能表示文件的結尾。 – hakre

+0

請嘗試查看源代碼以查看是否存在任何不良標記 –

回答

3

include()將嘗試評估該文件;如果那裏有東西看起來像PHP那麼它會破壞你的結果。

嘗試使用readfile代替;這隻會輸出文件內容。

+1

您可能想再次瞭解['include'](http://php.net/include) - 並不是'readfile'會出錯,只是你說包括。 – hakre

+0

是的,他需要嘗試echo(file_get_contents(「xmlfile _」。$ id。「。xml」);如果他想將xml回顯到客戶端 – Flosculus

+0

這樣工作就像一個魅力,我的軟件能夠讀取.php作爲XML!謝謝!愚蠢的我認爲include()會做這件事 – Alex