如何让PHP的fgetcsv()识别经典Mac(CR)新行字符?

Edw*_*uay 8 php newline fgetcsv

我使用此代码从CSV文件中获取列数:

$this->dummy_file_handler = fopen($this->config['file'],'r');
if ($dataset =fgetcsv($this->dummy_file_handler))
{
    $this->number_of_columns = count($dataset);
}
Run Code Online (Sandbox Code Playgroud)

它工作正常除非文件是使用Excel for Mac 2011导出的,因为新行字符是 经典Mac(CR),fgetcsv它无法识别.

替代文字

如果我手动将换行符从Classic Mac(CR)更改为Unix(LR),那么它可以工作,但我需要将其自动化.

如何fgetcsv识别经典Mac(CR)新行字符?

Sau*_*aul 19

手册:

注意:如果在读取Macintosh计算机上或由Macintosh计算机创建的文件时PHP未正确识别行结尾,则启用auto_detect_line_endings运行时配置选项可能有助于解决问题.