加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

可以使用PHP在网页中显示RTF文件吗?

发布时间:2020-12-13 14:02:39 所属栏目:PHP教程 来源:网络整理
导读:我有一个RTF文件,我想在用户输入替换标签后显示在网页内. 我想能够显示RTF文件,而不必在显示之前将其转换为某种东西. 每次我尝试它现在它给我弹出打开/保存框,即使我告诉它显示它的内联: header("Content-type: application/msword");header("Content-Dispo
我有一个RTF文件,我想在用户输入替换标签后显示在网页内.

我想能够显示RTF文件,而不必在显示之前将其转换为某种东西.

每次我尝试它现在它给我弹出打开/保存框,即使我告诉它显示它的内联:

header("Content-type: application/msword");
header("Content-Disposition: inline; filename=mark.rtf");
header("Content-length: " . strlen($output));

echo $output;
大多数浏览器将无法可靠地显示RTF内容.可以将RTF解析成HTML,然后在网页上显示HTML内容.

您需要某种程序来解析RTF并将其转换为HTML.我假设它必须是免费的.我不知道任何可靠的免费RTF解析或RTF到PHP中的HTML库.

我建议您使用像RTF2HTML:http://sageshome.net/?w=downloads/soft/RTF2HTML.html这样的命令行转换程序

您需要在Web服务器上下载并安装此程序,允许用户将文件上传到临时目录,然后使用shell_exec()从PHP调用命令行应用程序:

$html_output_path = '/path/for/processing/files/'
$html_output_filename = $username . $timestamp;
if (is_uploaded_file($_FILES['userfile']['tmp_name'])
{
  shell_exec('rtf2html ' . 
    escapeshellarg($_FILES['userfile']['tmp_name']) . " " .
    $html_output_path . $html_output_filename);
}
$html_to_display = file_get_contents($html_output_path . 
  $html_output_filename);

然后,将结果解析为HTML并显示它们.不是坏的策略.请注意,如果要在其他网页中显示内容,您可能需要删除头部,正文和其他标签.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读