相关疑难解决方法(0)

php fputcsv和封闭字段

我正要问与此处讨论的问题相同的问题.... 强制fputcsv使用Enclosure for*all*Fields

问题是

当我使用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(' ')
)
Run Code Online (Sandbox Code Playgroud)

没有"永远封闭"选项.

我需要创建一个CSV文件将每个字段封闭...什么是最好的解决方案?

提前致谢...

php csv fputcsv

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

csv ×1

fputcsv ×1

php ×1