php fgetcsv() 行以逗号分隔符结尾

Posted

技术标签:

【中文标题】php fgetcsv() 行以逗号分隔符结尾【英文标题】:php fgetcsv() line ending with a comma delimiter 【发布时间】:2013-11-20 21:02:23 【问题描述】:

我目前正在用 php 编写一个脚本,该脚本读取一个 .csv 文件并将每个条目推送到数据库。

.csv 文件的行以 ',' 结尾

a,b,c,d,e,v,f,

r,t,y,u,i,o,e,

当我使用 fgetcsv($handle, 1000, ",") 读取行时,文件的全部内容被读取为单行 (a,b,c,d,e,v,f,r ,t,y,u,i,o,e,) 我怎样才能防止这种情况发生。

【问题讨论】:

csv 文件实际上使用 \r\n 来分隔文件内的行。您的导入例程也应该遵守这种格式。 【参考方案1】:

原因是换行符是php无法识别的“MAC CR”字符,为了解决这个问题我使用了

<?php
ini_set("auto_detect_line_endings", true);

【讨论】:

以上是关于php fgetcsv() 行以逗号分隔符结尾的主要内容,如果未能解决你的问题,请参考以下文章

PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

PHP .txt到数组制表符分隔

php 基础2

PHP 和 MySQL GROUP_CONCAT 带分隔符逗号并搜索逗号连接的位置

如何在 PHP 中为数字(千、十万、百万、十亿)添加逗号分隔符

php 逗号分隔符ForEach循环除了最后