使用Mozilla版本10在Windows 2000中运行的PHP使用新行生成文本文件

我正在使用PHP生成一个文本文件,该文件将在具有Windows 2000 OS和mozilla firefox浏览器的计算机中使用(它的旧版本不问为什么请这样做)。该文件已正确生成,并且可以在Windows 10和最新版本的Fire Fox上顺利运行。

我现在的问题是,新行无法在旧版本(Windows 2000 OS和firefox 10)中呈现

我尝试使用ff:

1. /n
2. /r/n
3. <br>
4. $string = "This\r\nis\n\ra\nstring\r"; echo nl2br($string);
5. PHP_EOL

全部未生成所需的输出。它只是将BR添加为文本

使用Mozilla版本10在Windows 2000中运行的PHP使用新行生成文本文件

代码为:

header("Content-Type: text/html; charset=UTF-8"); 
header("Content-Type: multipart/form-data; boundary=something");  
header("Content-Length: ".strlen($data).""); 
header("Content-Disposition: attachment; filename=".$_GET['name'].""); 
echo nl2br(base64_decode($data));

示例文本为:"Assembly Lot Summary Report " . "\r\n" . "\r\n" ;

FYI:记事本(仅)用于打开文本文件

sam_xiaosa 回答:使用Mozilla版本10在Windows 2000中运行的PHP使用新行生成文本文件

如果要按与输入文本键时相同的方式换行,则按Enter键,则标题应为:

Content-Type: text/plain

代替

Content-Type: text/html;

因此,Web浏览器完全知道您要传递文本文件。

您可以仅检查页面源即可再次检查是否将新行返回到浏览器-转到菜单>编辑>查看源或点击CTR + U

我还将尝试删除此行:

header("Content-Type: multipart/form-data; boundary=something");

看看是否有帮助。

从php生成新行,您可以使用:

echo "\n";

echo PHP_EOL;

它将为您提供依赖网络服务器操作系统的新行-Linux有所不同,Windows则有所不同。

这些在PHP中是错误的:/r/n。您需要使用反斜杠,并且仅在使用双引号“ \ n” more read时才起作用。

有关text/plain的更多信息

本文链接:https://www.f2er.com/3120522.html

大家都在问