簡體   English   中英

使用PHP下載CSV文件

[英]Download a csv file using PHP

[找到解決方案]謝謝大家的答復。 我將按鈕更改為鏈接,它現在可以正常工作了。

我知道這個主題已經被反復討論了,我整天都在閱讀可能的解決方案,但是沒有一個解決我的問題的。 我需要制作一個腳本,以便從mysql數據創建一個csv並將文件下載到默認下載瀏覽器的文件夾中。 正如我之前所說,我已經嘗試了所有可能的解決方案。 在獲取數據並將其放入csv中,我沒有任何問題。 我將在這里找到的一個解決方案中發布一個簡單的示例。

<?php

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

    function outputCSV($data) {
      $output = fopen("php://output", "w");
      foreach ($data as $row)
        fputcsv($output, $row);
      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")
    ));

?>

如果將文件名放在fopen中,如fopen(“ filename.csv”,“ w”)一樣,它將文件保存在服務器中。 我需要下載文件。 我相信問題出在標題上。 我該怎么辦? 歡迎任何幫助。

我正在使用xampp,php的最新版本,並在Chrome上進行嘗試。

謝謝。

您可以使用以下代碼將文件保存在服務器中

fopen("filename.csv","w")

然后您可以編寫代碼以通過兩種方式下載保存的文件

第一

您可以讀取文件並通過標頭傳遞到瀏覽器

header('Content-type: text/csv');
header('Content-Disposition: attachment; filename="filename.csv"');
ob_clean();
readfile($filePath);
exit;

第二

您可以重定向到文件路徑,例如

header("Location: ".SITE_URL."VALID_PATH/filename.csv"); 
exit;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM