php文件上传丢失换行符

时间:2013-04-15 12:26:14

标签: php upload line-breaks

我有一个excel文件,其中包含我想用php上传的几列数据(Mac 10.8.2,office2011)。

经过多次解码问题后,我最终打开了word中的excel文件,转换为文本,复制到TextEdit并保存为utf-8。

使用file($myFile);上传工作正常,但$medienarray = file($myFile); print_r($medienarray);显示所有换行符都已删除。

但是,如果我手动删除TextEdit文件中的换行符并再次输入它们,则会在新上载后识别它们。

我尝试使用正则表达式替换"\r" "\n"

preg_replace('/\r/','/\n/',$medienarray[0],-1,&$anzahl);

它显示20个替换但没有效果。

手动替换所有换行符的数据行太多。

上传未从excel文件创建的任何其他文本文件,没有任何换行问题

2 个答案:

答案 0 :(得分:1)

尝试将\ r替换为\ r \ n而不仅仅是\ n。

请参阅此处http://en.wikipedia.org/wiki/Newline#In_programming_languages

答案 1 :(得分:0)

PHP需要换行符“\ r \ n”不仅是“\ r”或“\ n”。见here