在csv中没有检测到php换行符

时间:2012-06-22 19:47:46

标签: php fgetcsv

我在php-csv中有这个常见的'新行'问题让我疯了!我检查了很多论坛并尝试了不同的解决方法,但它似乎没有解决问题。我正在读取一个包含1个标题和2个数据记录的CSV文件。我使用fgets()跳过标题并使用$data=fgetcsv()读取数据记录。现在问题是数据记录都被读入单个数组。我尝试了以下选项,但都是徒劳的:

  1. 运行时 - ini_set("auto_detect_line_endings", true);
  2. 在php.ini中将auto_detect_line_endings变为'ON'。
  3. 试过fwrite($handle, implode($delimiter,$fieldsarray).PHP_EOL);
  4. 我正在开发本地的MAMP,开发区域的LAMP。 CSV保存在本地计算机上,复制到/ tmp /文件夹并从那里读取。如何检查文件中是否有必要的换行符?当我从tmp检查文件时,我确实看到了新行中的记录。

1 个答案:

答案 0 :(得分:3)

以下解决方案有效!!

$file_contents = file_get_contents($temp);
$file_cont_new = str_replace("\n","\r",$file_contents);
file_put_contents($temp,$file_cont_new);