我有下一个问题:当我将一行保存到我的csv文件中时,我使用
fputcsv($this->_streamHandler, $row, $delimiter, $enclosure);
其中:
$enclosure = '"'
$delimite= "#";
$row = array("somemail@gmail.com", "someName", "2014-01-29 10:13:35");
所以,在此之后我的文件中有下一行:
somemail@gmail.com#someName#"2014-01-29 10:13:35"
为什么date
元素(2014-01-29 10:13:35)用引号保存到文件?
如果我设置$enclosure = ''
,
fputcsv返回false,如果我设置了另一个符号,例如"-"
,它将在每个元素的开头保存'-'
行。
答案 0 :(得分:1)
为什么要提供分隔符或附件?你告诉它使用#将你的字段分开。删除两个可选参数。它们用于覆盖分隔符和封闭字符。
fputcsv($this->_streamHandler, $row);
http://us2.php.net/manual/en/function.fputcsv.php
如果您的日期已被引用,则需要删除任何现有的引号:
$row[2] = str_replace('"', '', $row[2]);
在这里查看类似的SO问题:Avoid default quotes from csv file when using fputcsv