gpt4 book ai didi

php - 使用 PHP 和 mySQL 从网络搜索创建可下载的 CSV

转载 作者:行者123 更新时间:2023-11-29 02:29:22 25 4
gpt4 key购买 nike

我正在尝试创建一个 CSV 文件,用户可以下载该文件,但不会将数据永久保存在服务器上。

我正在为此页面使用 mySQL 和 PHP。我以正确的格式获取数据以在网页上显示(“回显”),但无法生成/下载文件...也许我遗漏了一些东西或找错了地方,但任何帮助都会很棒!

我一直在尝试使用我自己的脚本和我找到的其他脚本,但我目前拥有的脚本如下:

$file = 'export';
$colresult = mysql_query("SHOW COLUMNS FROM ".$tbl_name."");

if (mysql_num_rows($colresult) > 0) {
while ($row = mysql_fetch_assoc($colresult)){
$csv_output .= $row['Field'].", "; $i++; } } $csv_output .= "\n";

$csvresult = mysql_query($sql);

while ($rowr = mysql_fetch_row($csvresult)) {
for ($j=0;$j<$i;$j++) { $csv_output .= $rowr[$j].", ";
}

$csv_output .= "\n"; }
$filename = $file."_".date("Y-m-d_H-i",time()).".csv";
header("Content-type: application/csv");
header("Content-disposition: attachment;filename=".$filename.".csv");
readfile("../documents/csv/".$filename.".csv");

$fp = fopen($filename, 'w');
foreach($csvret as $csvret){
fputcsv($fp, $csvret);
}

print $csv_output;
print $filename;

谢谢!

最佳答案

您需要传递一些 header 以强制网络浏览器将文件识别为“可下载”:

<?php

header('Content-Description: File Transfer');
header("Content-Type: application/csv");
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Content-Transfer-Encoding: binary');
header('Connection: Keep-Alive');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));

readfile($filename);
exit;

只需添加该代码代替:

print $csv_output; 
print $filename;

关于php - 使用 PHP 和 mySQL 从网络搜索创建可下载的 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15505430/

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