在保存csv期间从元素中删除引号

时间:2014-05-08 13:32:56

标签: php csv

我有下一个问题:当我将一行保存到我的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,如果我设置了另一个符号,例如"-",它将在每个元素的开头保存'-'行。

1 个答案:

答案 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