亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從php腳本創建和下載csv文件?

如何從php腳本創建和下載csv文件?

PHP
白衣非少年 2019-12-11 13:09:34
我是一個新手程序員,我搜索了很多有關我的問題的內容,但是找不到關于此的有用的解決方案或教程。我的目標是我有一個PHP數組,并且數組元素顯示在頁面上的列表中。我想添加一個選項,以便用戶如果需要,他/她可以創建帶有數組元素的CSV文件并下載。我不知道該怎么做。我也搜索了很多。但尚未找到任何有用的資源。請為我提供一些教程或解決方案或建議以自己實施。由于我是新手,請提供易于實施的解決方案。我的數組看起來像:Array(    [0] => Array        (            [fs_id] => 4c524d8abfc6ef3b201f489c            [name] => restaurant            [lat] => 40.702692            [lng] => -74.012869            [address] => new york            [postalCode] =>             [city] => NEW YORK            [state] => ny            [business_type] => BBQ Joint            [url] =>         ))
查看完整描述

3 回答

?
慕姐4208626

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);

感謝您的解決方案!



查看完整回答
反對 回復 2019-12-12
?
倚天杖

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();

?>



查看完整回答
反對 回復 2019-12-12
  • 3 回答
  • 0 關注
  • 362 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號