2011-08-05 62 views
0

我有一個生成XML文件的php。它以下面的代碼開始:安裝差異php 5.2和5.3

header("Content-Type: text/xml; charset=UTF-8"); 
header('Content-Disposition: attachment; filename="FileName.xml"'); 

// Outputs a lot of XML 

當我運行PHP 5.2時,它工作正常,但在5.3上生成一個空文件。有關爲什麼它是空的任何想法?

+4

後的完整代碼被解釋爲PHP代碼塊的開始,我懷疑在這種情況下頭部是否有特殊的事情要做。 – Kumar

+0

你在同一臺服務器上安裝過嗎?我會說這可能不是由於PHP版本的差異造成的,而是其他原因。例如試試看看它是否有效。 ob_start();在標題之前的最初。並在文件的最後; $ XML = ob_get_contents(); ob_end_clean(); echo $ xml; –

回答

1

這聽起來像它可能與短打開標籤功能相關:<? vs <?php

確保您在php.ini中禁用了短標籤。如果你需要它激活,有一個變通方法:爲<?xml標籤,包裝在一個字符串,並呼應它,所以它不會被PHP

echo '<?xml … >'; 
+0

不,這不是問題。 – user880533