我正想问与此问题相同的问题...强制fputcsv使用*所有*字段的封闭符号
问题是:
当我使用fputcsv将一行写入到打开的文件句柄时,PHP会添加一个封闭字符以包含它认为需要的任何列,但会使其他列没有封闭。
例如,您可能会得到以下一行:
11,“Bob”,Jenkins,“200 main st. USA”,等等
除了在每个字段的末尾附加虚假空格之外,还有没有办法强制fputcsv始终用封闭符(默认为“”)封装列?
答案是:
不,fputcsv()仅在以下条件下封装字段
/* enclose a field that contains a delimiter, an enclosure character, or a newline */
if (FPUTCSV_FLD_CHK(delimiter) ||
FPUTCSV_FLD_CHK(enclosure) ||
FPUTCSV_FLD_CHK(escape_char) ||
FPUTCSV_FLD_CHK('\n') ||
FPUTCSV_FLD_CHK('\r') ||
FPUTCSV_FLD_CHK('\t') ||
FPUTCSV_FLD_CHK(' ')
)
没有“始终包含”的选项。
我需要创建一个CSV文件,并将每个字段都包含在内...什么是最好的解决方案?
提前感谢...