Php fgetcsv将所有数据带到第一行

Php fgetcsv将所有数据带到第一行,php,csv,encoding,fgetcsv,Php,Csv,Encoding,Fgetcsv,使用fgetcsv是我发现的读取系统所需的csv文件的选项。但它似乎并不是每次都能工作(实际上,这段代码工作时非常罕见) 我试图在代码之前调用它来检查行的结尾,但没有成功 ini_set('auto_detect_line_endings', true); 该文件由客户端的另一个程序导出,我无法让它“更新”以满足软件的需要。有没有办法解决csv上的编码/行结束问题?来自(我知道的根本想法) 长度参数 必须大于CSV文件中的最长行(以字符为单位)(允许尾随行结束字符)。它在PHP5中成为可选的。

使用fgetcsv是我发现的读取系统所需的csv文件的选项。但它似乎并不是每次都能工作(实际上,这段代码工作时非常罕见)

我试图在代码之前调用它来检查行的结尾,但没有成功

ini_set('auto_detect_line_endings', true);
该文件由客户端的另一个程序导出,我无法让它“更新”以满足软件的需要。有没有办法解决csv上的
编码
/
行结束
问题?

来自(我知道的根本想法)

长度参数

必须大于CSV文件中的最长行(以字符为单位)(允许尾随行结束字符)。它在PHP5中成为可选的。省略此参数(或在PHP5.1.0及更高版本中将其设置为0)将不会限制最大行长度,这会稍微慢一些

我不知道您使用的是什么版本的PHP,但请尝试将参数设置为合理的值,您应该开始一次只获取一行

乙二醇


你看过原始文件看里面有什么吗?可能它的生成没有行尾,或者是一个完全非标准的记录结束字符。
ini_set('auto_detect_line_endings', true);
while (($data = fgetcsv($handle, 4096, ',')) !== FALSE) {