首頁 > 後端開發 > php教程 > 如何使用 PHP 從 MySQL 資料庫產生和下載 CSV 檔案?

如何使用 PHP 從 MySQL 資料庫產生和下載 CSV 檔案?

Linda Hamilton
發布: 2024-12-14 07:13:23
原創
429 人瀏覽過

How Can I Generate and Download CSV Files from a MySQL Database Using PHP?

使用 PHP 為使用者產生 CSV 檔案

使用者經常要求以 CSV 格式擷取資料。本文深入探討了按需建立 CSV 檔案並透過可下載連結將其交付給使用者的過程。

解決方案:

建立並下載包含以下內容的CSV 檔案:當使用者點擊某個按鈕時,來自MySQL 資料庫的資料連結:

  1. 產生CSV資料:

    • 執行 MySQL 查詢以擷取所需的資料。
    • 將資料組織成數組的數組,每行代表一個
  2. 建立CSV 標題:

    • 使用header() 函數將內容類型設定為文字/csv並指定所需的檔案名稱作為內容配置。此參數指定檔案名稱並觸發下載提示。
  3. 定義 CSV 輸出函數:
  4. 建立函數名為outputCSV(),接受記錄陣列作為參數。

      在函數中,開啟使用 fopen("php://output", "wb") 寫入輸出的流。
    • 迭代記錄數組並使用 fputcsv($output, $ 將每一行寫入輸出流排)。此函數自動處理分隔符號和包圍符。
    • 使用 fclose($output) 關閉輸出流。

header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");

function outputCSV($data) {
  $output = fopen("php://output", "wb");
  foreach ($data as $row)
    fputcsv($output, $row); // here you can change delimiter/enclosure
  fclose($output);
}

outputCSV(array(
  array("name 1", "age 1", "city 1"),
  array("name 2", "age 2", "city 2"),
  array("name 3", "age 3", "city 3")
));
登入後複製
呼叫CSV 輸出函數:

  • 將記錄陣列傳遞給outputCSV()
  • 自動產生CSV檔案並傳送給客戶端下載。
範例程式碼:重點:php://output 偽變數開啟一個串流,自動寫入HTTP 輸出緩衝區。 fputcsv() 將一行 CSV 資料寫入流,處理分隔符號和附件設定。

以上是如何使用 PHP 從 MySQL 資料庫產生和下載 CSV 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板