PHP与上传的文件分解换行


PHP exploding line breaks with uploaded files

用户在我的网站上提交的数据文件的格式如下:

Text text text text text
text texttext text text
text text text text 
text text text text text 
text text text text 
text text text 

在开发我的php脚本来读取这些文件时,我会在使用带有分隔符'n'nfile_get_contents之后对文件进行explode(),这将根据上面的示例生成一个数组。

但现在我正在过渡到一个实时网站,并正在开发提交文件的表单,这种爆炸技术不再有效。

foreach ($_FILES['file']['tmp_name'] as $file) {
   $fname = file_get_contents($file);
   $rows = explode("'n'n", $fname);
   //do work
}

当我echo $row[0]时,会返回整个上传的文件,而不仅仅是第一段$行[1]为空爆炸为什么不在这里工作

尝试规范行结尾:

$c = file_get_contents($file);
$c = str_replace(array("'r'n", "'n'r"), array("'n", "'n"), $c);
$rows = explode("'n'n", $c);

这是由于本地开发机器和实时机器之间的换行符不同。在目标机器上使用正确的新行。