当我使用 fputcsv 时要向打开的文件句柄写出一行,PHP 会在它认为需要它的任何列中添加一个封闭字符,但会在其他列中不包含封闭字符。
例如,你可能会得到这样一行
11,"Bob ",Jenkins,"200 main st. USA ",etc
如果没有在每个字段的末尾附加一个伪造的空格,是否有任何方法可以强制 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(' ')
)
没有“始终包含”选项。
关于php - 强制 fputcsv 对*所有*字段使用外壳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2489553/