gpt4 book ai didi

php - 我如何提示用户下载 PHP 生成的 .CSV 文件,我应该如何处理删除它?

转载 作者:可可西里 更新时间:2023-11-01 13:41:33 24 4
gpt4 key购买 nike

这是我的 PHP 代码,用于根据一些 SQL 数据创建 .CSV 文件。它按预期工作,唯一的问题是它只是在服务器上创建一个 .CSV 文件,并不提示用户下载它

<?php
require_once "../assets/repository/mysql.php";

$query = "SELECT * FROM datashep_AMS.COMPLETE_APPLICATIONS";
$results = mysql_query($query);

$first = true;

$out = fopen('export.csv', 'w');

while($row = mysql_fetch_assoc($results)){
if($first){
$titles = array();
foreach($row as $key=>$val){
$titles[] = $key;
}
fputcsv($out, $titles);
$first = false;
}
fputcsv($out, $row);
}

fclose($out);
?>

所以我的问题是,如何让用户在文件生成后立即下载?

而且,一旦他们下载(或拒绝),我应该如何处理从我的服务器中删除 .CSV 文件?

最佳答案

不需要在服务器上存储任何东西(因此不需要删除...)。只需将结果写回浏览器并相应地设置 header :

<?php
require_once "../assets/repository/mysql.php";

$query = "SELECT * FROM datashep_AMS.COMPLETE_APPLICATIONS";
$results = mysql_query($query);

$first = true;

header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename="export.csv"');
header('Cache-Control: max-age=0');

$out = fopen('php://output', 'w');

while($row = mysql_fetch_assoc($results)){
if($first){
$titles = array();
foreach($row as $key=>$val){
$titles[] = $key;
}
fputcsv($out, $titles);
$first = false;
}
fputcsv($out, $row);
}

fclose($out);
?>

关于php - 我如何提示用户下载 PHP 生成的 .CSV 文件,我应该如何处理删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17385128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com