2011-09-03 161 views
1

我想將數據導出爲CSV文件。 這是我的測試功能csv導出文件

private function exportToCSV() 
{   
     $titles = array('one', 'two', 'three'); 
     $delimiter = ','; 

     $filename = 'simple.csv'; 
     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={$filename}"); 
     header("Expires: 0"); 
     header("Pragma: public"); 


     $file = @fopen('php://output', 'w'); 

     fwrite($file, implode($delimiter, $titles) . "\r\n"); 

     fclose($file);  
} 

我運行一個模塊內的這個功能,我越來越有冠軍,但整個頁面的CSV文件爲好。如何只獲得只有標題的csv文件?

+1

如果您可以提供一些示例輸入和結果輸出來演示您遇到的問題,這將會很有幫助。 – Trott

+0

對不起,但我不明白什麼意思'整頁以及'?請更多解釋 – ZigZag

+0

你對「整個頁面」的含義是什麼?網站的其他部分(你是否在CMS環境?)? 或者你的意思是說你只想下載對話框而不顯示新的空白頁面? – hbit

回答

1

確保您的CMS本身沒有發送任何標題,除了使用螢火蟲或Chrome或Charles的標題。

如果您想要強制瀏覽器顯示保存對話框,請使用它無法解析的內容類型。大多數瀏覽器都可以解析'text/csv'。嘗試使用'application/vnd.ms-excel'。任何可以打開excel的應用程序也可以打開csv文件,所以不用擔心瀏覽器會做什麼。

一些互聯網探險家甚至可以打開並顯示其中的Excel,但如果用戶沒有選擇自動打開這些文件,他們不會。