写入到CSV文件上的两列
问题描述:
我想创建一个CSV文件。我已经做到了。我已经把下面的代码放在循环之外的第一行和最后一行。写入到CSV文件上的两列
$FileHandle = fopen('tech.csv', 'a+') or die("can't open file");
$stringa = $item." , ".$item2."\r\n";
fwrite($FileHandle, $stringa);
fclose($FileHandle);
但是,它出来像这样的CSV文件:
a
b
c
d
,而不是这样,我想它:
a b
c d
基本上,两列,而不是一个。
我在做什么错?
答
我真的希望你不要打开和关闭文件在每次迭代为使文件系统中的实际压力。相反,你可以做这样的事情:
$csv = array();
foreach($myData as $row) {
$csv[] = trim($row['item1']).','.trim($row['item2']);
}
file_put_contents('tech.csv', implode("\r\n", $csv), FILE_APPEND);
或者,你可以使用fputcsv功能:
$fp = fopen('tech.csv', 'a+');
foreach($myData as $row) {
fputcsv($fp, array(trim($row['item1']), trim($row['item2']));
}
fclose($fp);
哪里$项目和$ ITEM2来自 - 因为它看起来像他们已经有一个回车。 – menkes 2010-01-02 00:27:36
这正是问题所在。 – Abs 2010-01-02 00:36:23