2015-09-25 35 views
0

我在SO和互聯網上閱讀了大量文章,並嘗試了所有這些文章,但我仍然無法在PHP中創建CSV下載功能。無法使用PHP中的header()下載csv字符串

以下是我的代碼:

$csvData = @$_POST['csv_data']; 
if(trim($csvData)) 
{ 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header('Content-Description: File Transfer'); 
    header("Content-type: text/csv"); 
    header("Content-Disposition: attachment; filename=data.csv"); 
    header("Expires: 0"); 
    header("Pragma: public"); 
    echo $csvData; 
    exit; 
} 

而不是顯示文件保存對話框,這保持CSV數據打印到我的瀏覽器:(我在做什麼錯在這裏的任何幫助深表感謝..

其他編輯:我發佈這個數據到我的腳本,它立即採取這些數據,並嘗試下載。我的腳本是包含在另一個文件中,這將是一個問題嗎?我啓用了error_reporting,發現我得到標題已經修改錯誤...

回答

0

在HTTP中,標題在任何文本輸出前發送。

因此,如果您輸出任何文本,PHP將關閉您的響應標頭。

確保您在標頭修改之前保留任何文本輸出,例如使用OB-cache

相關問題