创建文件中的新行

时间:2013-07-30 08:10:46

标签: php file

当我尝试创建文件时,我无法进行新行/回车。 为什么不起作用?我尝试过:

  • PHP_EOL
  • \n

但是当我用记事本看

时,它不会创建新的线条
<?php

$file = 'myText.txt';

$id = '1'.$file;
//explode($delimiter, $id);

$content = "<PMTags1.0 win>". PHP_EOL;
$content .= . PHP_EOL;

while($row = mysqli_fetch_array($result))
{
  $content .= "<@win:><\<>win>". $row['kategoria'] . PHP_EOL;
  $content .= "<@tekst:><\<>tekst><$>";
  $content .= $row['text'];
  $content .= $gcid.$row['id'].'/'. PHP_EOL;
}

utf8_encode($content);
echo $content;
//Stworzenie pliku
$fp = fopen(trim(trim($id)),"wb");

fwrite($fp,$content);
fwrite($fp, pack("CCC",0xef,0xbb,0xbf));
fopen(trim(trim($id)),"r");
fclose($fp);
//End 4
//5 - Otwarcie pliku



if (file_exists(trim($id))) {
  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Disposition: attachment; filename='.basename(trim($id)));
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate');
  header('Pragma: public');
  header('Content-Length: ' . filesize(trim($id)));
  ob_clean();
  flush();
  readfile(trim($id));
  exit;
}

5 个答案:

答案 0 :(得分:1)

对于Linux系统,新行字符为\n

对于Mac系统\r就足够了(谢谢SIT_LCU)。

对于Windows,您必须在\r

旁边添加\n

答案 1 :(得分:1)

简单地说,

\r\n

是你的解决方案。

答案 2 :(得分:1)

不要将PHP_EOL用于文本文件的输出,您可以更好地使用:

\n\r

为了更好的兼容性

答案 3 :(得分:0)

PHP_EOL是&#34;正确的&#39;行结束&#39;这个平台的符号。&#34;

但是你可能在Unix上创建文件并在Windows下查看 - EOL - 符号不同。

答案 4 :(得分:0)

\ n = CR(回车)//用作Unix中的换行符 \ r = LF(换行)//在Mac OS中用作换行符 \ r \ n = CR + LF //用作Windows中的新行字符
NewLine

\ n在某些浏览器和工具中正确表示,
但要为所有用户获得正确的结果,最好使用“\ r \ n”作为新行。