我只想尝试使用简单的以下内容制作 .rtf 文件(" eee")。当我打开文件时,它在输出之前添加了一个空行。
header("Content-Disposition: attachment;filename=test.rtf");
echo 'eee'; die;
我也试过
header("Content-type: application/rtf; charset=utf-8");
header("Content-Disposition: attachment;filename=test.rtf");
echo 'eee'; die;
但在输出之前仍然会添加空行。
当我尝试保存为 .txt 文件时,它没有添加任何空白行。
header("Content-Disposition: attachment;filename=test.txt");
echo 'eee'; die;
答案 0 :(得分:2)
重要的是,您不要在行的开头<?php
之前或者包含的其他一些文件(例如,?>
之后)之前有空行。
答案 1 :(得分:0)
我使用的是codeigniter框架。在控制器上我加载了一个模型,该模型在?&gt;之后有空行。结束标签。删除后它工作正常。文本的简单回声在输出之前添加空格是RTF文件查看器的原因是期望在第一行本身提及适当的内容编码。所以输出应该像 {\ rtf1 \ ansi} 那样开始。确保之前没有插入其他文本或空格。
答案 2 :(得分:0)
我正在使用
ob_start('ob_gzhandler');
...
if ($isDownload) {
header("Content-type: text/rtf; charset=UTF-8");
header("Content-Disposition: attachment; filename=myfile.rtf");
header("Expires: 0");
}
echo $rtf;
我通过
对其进行了修复 ob_start();
...
if ($isDownload) {
ob_clean()
header("Content-type: text/rtf; charset=UTF-8");
header("Content-Disposition: attachment; filename=myfile.rtf");
header("Expires: 0");
}
echo $rtf;