[英]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.