如何使用 php 保存 rtf 文件?

Posted

技术标签:

【中文标题】如何使用 php 保存 rtf 文件?【英文标题】:how do i save a rtf file using php? 【发布时间】:2011-06-21 23:19:02 【问题描述】:
$rtf=<<<RTF
    \rtf1
    \b [TITLE] \b0\par
    \b [MESSAGE] \b0\par
    
RTF;

$rtf = str_replace('[TITLE]',$valueTitle,$rtf);
$rtf = str_replace('[MESSAGE]',$valueMessage,$rtf);

像上面那样在php中完成一个rtf文件的编辑后,我如何将它以一个新的文件名保存在一个特定的位置供人们下载?

【问题讨论】:

看看fwrite:php.net/manual/de/function.fwrite.php 【参考方案1】:

您可以使用file_put_contents() 保存它,并提供下载链接以及适当的标题。

// $rtf holds your complete file data
file_put_contents('/path/to/outfile.rtf', $rtf);

然后您可以简单地给他们直接下载,或者像这样使用正确的标题提供它,如果您需要额外的处理或访问保护或其他东西很有用...

header("Content-type: application/rtf");
echo file_get_contents("/path/to/outfile.rtf");
exit();

【讨论】:

【参考方案2】:

在我已经完成此操作的地方找到了我的旧文件,所以这是我现在正在使用的确切工作代码。

$rtf= file_get_contents('result.rtf');

$rtf = str_replace('[nickname]', $nickname, $rtf);
$rtf = str_replace('[secretWord]', $secretWord, $rtf);
$rtf = str_replace('[hoursInADay]', $hoursInADay, $rtf);
$rtf = str_replace('[hobby]', $hobby, $rtf);
$rtf = str_replace('[hobbyYears]', $hobbyYears, $rtf);
$rtf = str_replace('[hobbyAlphabet]', $hobbyAlphabet, $rtf);
$rtf = str_replace('[jokeFact]', $jokeFact, $rtf);

header('Content-type: application/msword');
header('Content-Disposition: attachment; filename=survey_result.rtf');
echo $rtf;
die();

【讨论】:

以上是关于如何使用 php 保存 rtf 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 BlockUIContainer 中 RichTextBox 的内容保存到 RTF 文件?

如何使用 proc 报告获取 rtf 文件

如何使用 .NET 4.0 读取 .RTF 文件

使用 PHP 快速将 (.rtf|.doc) 文件转换为 Markdown 语法

我应该如何使用 OpenOffice 自动化将 HTML 文件转换为 RTF?

rtf文本格式如何转换html格式(c#代码实现)