首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 簡易產生 CSV 檔案下載範例

     編輯:PHP 綜合知識

透過設定 HTTP 標頭,將陣列資料輸出為 CSV 格式並觸發瀏覽器下載。

<?php
// 範例資料
$rows = [
    [1, '測試資料一'],
    [2, '測試資料二'],
    [3, '測試資料三'],
    [4, '測試資料四'],
];

// 組裝 CSV 內容(簡易版,未處理欄位內含逗號/換行/雙引號)
$csv = '';
foreach ($rows as $row) {
    $csv .= implode(',', $row) . "\n";
}

// 可選:轉碼為 Big5/GBK 相容 Excel 中文環境
// $csv = mb_convert_encoding($csv, 'Big5', 'UTF-8');

// 發送下載標頭
header('Content-Type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename="export_' . date('Ymd_His') . '.csv"');
header('Pragma: no-cache');
header('Expires: 0');

echo $csv;
exit;
?>

進階建議:使用 fputcsv() 處理特殊字元

<?php
$fp = fopen('php://output', 'w');
// 寫入 BOM 讓 Excel 正確識別 UTF-8
fwrite($fp, "\xEF\xBB\xBF");

foreach ($rows as $row) {
    fputcsv($fp, $row); // 自動處理逗號、雙引號、換行跳脫
}
fclose($fp);
exit;
?>

關鍵標頭說明

  • Content-Type: text/csv:宣告 MIME 類型。
  • Content-Disposition: attachment; filename="...":觸發下載並指定檔名。
  • charset=UTF-8:建議加上 BOM (\xEF\xBB\xBF) 確保 Excel 正確開啟中文。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved