一尘不染

强制fputcsv对*全部*字段使用附件

php

当我使用fputcsv将行写出到打开的文件句柄时,PHP会将封闭字符添加到它认为需要的任何列中,而其他列将不包含任何封闭物。

例如,您可能会得到这样的一行

11,"Bob ",Jenkins,"200 main st. USA ",etc

除了在每个字段的末尾添加虚假空格之外,是否有任何方法可以强制fputcsv始终将列包含在外壳中(默认为“”)?


阅读 249

收藏
2020-05-29

共1个答案

一尘不染

不,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(' ')
)

没有“始终封闭”选项。

2020-05-29