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 和 MySQL GROUP_CONCAT 带分隔符逗号并搜索逗号连接的位置