2010-05-19 95 views
2

我已經在WordPress中創建了一個自定義解決方案,它將通過單擊一個簡單的超鏈接來生成一個CSV文件,該鏈接直接鏈接到該文件。而不是被提示將文件下載到計算機; CSV會在瀏覽器窗口中打開。不被提示下載CSV文件

FWIW我在Media Temple使用WordPress的香草安裝。

回答

4

發送正確的MIME類型

header('Content-type: text/csv'); 

,並使用內容處置頭,告訴它下載:http://www.jtricks.com/bits/content_disposition.html

header('Content-Disposition: attachment; filename="mycssfile.csv"'); 

你總是要發送正確的MIME類型,否則防火牆,反病毒軟件和一些瀏覽器可能會有問題...

+0

工作很好!感謝資源鏈接! – hsatterwhite 2010-05-19 18:51:53

0

您需要向瀏覽器發送一個MIME類型application/csv,以便將操作文件的責任轉移到操作系統建議(或用戶選擇)的任何地方。

在PHP(之前的任何輸出發送到客戶端):

header('Content-type: application/csv'); 
2

您可以使用PHP的header()功能改變內容類型

header('Content-Type: application/csv'); 
header('Content-Disposition: attachment; filename="myFile.csv"'); 

上面的代碼會強制提示用戶下載。其中myFile.csv應該替換爲您要下載的文件的路徑。

+0

謝謝你的幫助! – hsatterwhite 2010-05-19 18:52:15

2

這個作品:

$filename = 'export.csv'; 
header('Content-type: application/csv'); 
header('Content-Disposition: attachment; filename='.$filename); 

另外,我個人不喜歡我的網站上的鏈接,我喜歡按鈕。如果你想要一個按鈕來執行導出功能,你可以使用下面的代碼。我只是以爲我會張貼它,因爲它花了我一點,第一次弄清楚:)

<input type="button" value="Export to CSV" onClick="window.location.href='something.php?action=your_action';"/> 
+0

不錯的解決方案,感謝您的幫助! :) – hsatterwhite 2010-05-19 18:52:34