0
我目前創建和輸出一個CSV如下保存CSV:1.4.3和PHP
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=file.csv');
header("Cache-Control: no-store, no-cache");
$df = fopen('php://output', 'w');
fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF));
foreach ($csvLines as $csvLine) {
fputcsv($df, $csvLine);
}
exit;
不過,我想不僅輸出,而且這個文件保存到磁盤。我怎樣才能將$df
寫入文件?
注意改善我的生成CSV建議,歡迎:)
'$ DF =的fopen('/路徑/要/磨片瀏覽器re/you/want/the/file/on/disk.csv','w');'而不是打開'php://輸出';然後在'exit'之前立即使用'readfile('/ path/to/where/you/want/the file/on/disk.csv')將它發送給瀏覽器 –
不要編寫UTF-8 BOM。這是[不需要](https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8),很多時候它會產生更多的傷害。 – axiac
@axiac當試圖讓CSV與CSV一起工作時(這是一種非常常見的情況),這種智慧並不適用。 (雖然正確支持Excel與CSV不幸的是更復雜...) – deceze