3 回答

TA貢獻1852條經驗 獲得超7個贊
但是我不得不補充;在Content-Disposition標頭的末尾。如果沒有它,瀏覽器將在文件名的末尾添加兩個破折號(例如,文件不是“ export.csv”,而是另存為“ export.csv--”)。可能會嘗試在標題行的末尾清理\ r \ n。
正確的行應如下所示:
header('Content-Disposition: attachment;filename="'.$filename.'";');
如果CSV中包含UTF-8字符,則必須通過更改Content-Type行將編碼更改為UTF-8:
header('Content-Type: application/csv; charset=UTF-8');
另外,我發現使用rewind()代替fseek()更優雅:
rewind($f);
感謝您的解決方案!

TA貢獻1828條經驗 獲得超3個贊
嘗試... csv下載。
<?php
mysql_connect('hostname', 'username', 'password');
mysql_select_db('dbname');
$qry = mysql_query("SELECT * FROM tablename");
$data = "";
while($row = mysql_fetch_array($qry)) {
$data .= $row['field1'].",".$row['field2'].",".$row['field3'].",".$row['field4']."\n";
}
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="filename.csv"');
echo $data; exit();
?>
- 3 回答
- 0 關注
- 362 瀏覽
添加回答
舉報