【发布时间】:2014-10-24 19:01:03
【问题描述】:
这是我的代码:
<?php
error_reporting(E_ALL ^ E_NOTICE);
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen('php://output', 'w');
fputcsv($output, array('field1', 'field2'),';','"');
mysql_connect('localhost', 'usr', 'psswd');
mysql_select_db('db');
$rows = mysql_query('
SELECT
field1,
field2
FROM table
');
while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);
mysqli_close($con);
?>
结果是“;”分隔符仅用于 csv 文件的标题,而不是在每一行中。 坦克。
【问题讨论】:
-
打印行时为什么不使用相同的参数?
-
您为什么希望 fputcsv 能够“记住”您上次是如何使用它的?您没有在
while()循环中为 fputcsv 调用指定任何分隔符选项,因此 fputcsv 将使用其默认值。 -
哇!对不起。没有意识到我的愚蠢错误。