gpt4 book ai didi

php - 将查询结果保存到 CSV 并在服务器上创建文件

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

我第一次必须这样做,但我需要将查询结果保存到 CSV 并在服务器上创建一个文件,然后再通过 SFTP 传递到远程服务器。我可以根据下面的代码成功创建在浏览器中下载的 CSV,但似乎无法将其保存在服务器上。我想我可能需要 file_put_contents?如果有人可以提出一种方法,或者确实是一种通过 sftp 发送输出的更好方法,那么我们非常感激。

$result = mysql_query("SELECT * FROM `policy_details` WHERE `policyNumber` = '848938'"); 
if (!$result) die('Couldn\'t fetch records');
$num_fields = mysql_num_fields($result);
$headers = array();
for ($i = 0; $i < $num_fields; $i++)
{
$headers[] = mysql_field_name($result , $i);
}
$fp = fopen('php://output', 'w');
if ($fp && $result)
{

header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="export.csv"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, $headers);
while ($row = mysql_fetch_row($result))
{
fputcsv($fp, array_values($row));
}
//die;
}

最佳答案

立即想到的是,保存文件时不需要发送 header 。如果您只是将常规 csv 文件保存到本地服务器(并单独执行 FTP 操作),我也看不到使用“php://”方案的好处。我会用类似的东西

$fp = fopen('/path/to/new/file.csv', 'w+');
if ($fp && $result)
{
while ($row = mysql_fetch_row($result))
{
fputcsv($fp, array_values($row));
}
}

另一方面,您可以直接通过 FTP 保存文件,从而避免两阶段过程。

关于php - 将查询结果保存到 CSV 并在服务器上创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9569856/

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