PHP fputcsv 生成空文件

标签 php csv fputcsv

我正在开始一个项目,该项目需要我获取多个数组并将它们放入一个 csv 文件中。然而,虽然它正在生成文件,但它通常是完全空的(0 b 文件大小)。有时,如果我遗漏了什么,它会将错误消息放入文件中,或者有几次它会将数组放入文件中,就像我已经完成 print_r($array) 一样。

目前,我有这个:

    <?php

// output headers
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=file.csv');


$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');


// output data
foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>

使用的数组最终会生成,但我是生成文件的新手,所以我想先做这个。

我也尝试了多种变体,结果相同。到目前为止,我唯一能想到的是我正在使用 XAMPP,并且其中的 fputcsv 函数存在一些问题,但我还没有发现其他人有这个问题。我的代码是否有错误,或者我应该在其他地方寻找我的问题?

最佳答案

fputcsv 用于将 CSV 数据写入文件
如果你想把它写到 STDOUT(这是来自 echo 的数据结束的地方),你要么必须从磁盘上读回它,要么而不是写到“file.csv”,写信给 php://stdout .

无论哪种方式,都不要忘记最后的 fclose()。

关于PHP fputcsv 生成空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9183423/

相关文章:

php - 通过php将xml数据插入mysql数据库

python - 无法使用Python3在MySQL中插入CSV

python - 安全存储多线程网络抓取数据

php - 带制表符分隔符的 fputcsv

php - fputcsv 和整数类型转换为字符串

php - 是否可以在不使用 SQL 函数的情况下在 PHP 中将字符串转换为 varbinary

javascript - 如何使用 javascript 将变量从 html 文件插入到 js 文件中?

python - 我写了一个 python 脚本来删除 csv 的重复数据,我认为它的工作效率是 90%。确实需要一些帮助来解决一个问题

php - fputcsv - 只有一列

php - mysql 中的完整 OUTER JOIN 或 UNION