我开始研究一个需要多个数组并将它们放入一个csv文件的项目。但是,虽然它正在生成文件,但它通常完全是空的(0 b文件大小)。有时候,如果我错过了某些东西,它会将错误信息放在文件中,或者几次将数组放入文件中,就好像我已经完成了print_r($ array)一样。PHP fputcsv生成空文件
目前,我有这样的:
<?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函数存在一些问题,但我还没有发现任何其他人有这个问题。在我的代码中是否有错误,或者我应该在别处寻找我的问题?
如果你在顶部设置你的标题,它会不会产生一个错误? – seanbreeden 2012-02-07 20:37:06
我们可以看到您确切的实际代码吗?大概上述不是你正在运行,因为“创建文件指针...”行将是一个语法错误。您是否期望将文件输出到磁盘或HTTP客户端?因为你正在写一个文件,但是设置头像就像你期待的那样输出。另外,请注意,最好在文件上调用fclose(),尽管在这种情况下实际上并不需要它,因为您的句柄将在脚本结束时自动关闭。 – 2012-02-07 20:41:07
@ seanbreeden-到目前为止,我无论做得好还是坏,都没有任何区别。 – LucenNox 2012-02-07 20:44:17