当我尝试创建文件时,我无法进行新行/回车。 为什么不起作用?我尝试过:
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;
}
答案 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”作为新行。