【问题标题】:Open PDF file from web browser with php使用 php 从网络浏览器打开 PDF 文件
【发布时间】:2016-11-16 01:12:59
【问题描述】:

我需要打开 pdf 文档。到目前为止,我的 Web 应用程序在超链接中具有 pdf 文件路径,因此当我单击该链接时,它必须在 Web 浏览器或 Acrobat 等默认 pdf 应用程序中打开该文件。这是链接
<div class="col-md-7 value"><a href="c:/JobData/4861.pdf" class="btn btn-default btn-sm"> View </a> </dv>
当我试图打开它时,Firefox 说“地址不被理解”。我可以通过右键单击文件并选择“打开方式”选项在Firefox中打开相同的文件。 我也尝试用 php 代码打开它,但有消息“PDF 文档可能无法正确显示”并且它根本没有显示内容。这是php代码

<?php
$file = 'c:/JobData/';
$filename = '4861.pdf'; 
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');

@readfile($file);
?>

有人对此有解决方案吗?感谢您查看此问题。

【问题讨论】:

  • 为什么要标记javascript?您正在寻找正确的 php 实现吗?
  • ""c:/" 是本地计算机,有效的 url 可以解决这个问题
  • 您可以在链接中看到它是有效的文件路径,但是当我手动打开该文件时,在 C: 之前添加了“file:///”,我也尝试添加该文件斜杠它不工作。
  • 如果它的显示文件:你是在网络服务器上运行它还是直接在浏览器中加载页面?
  • 该文件必须在 web 根目录中,这不太可能是 `C:` 在 web 根目录中为 pdf 创建一个目录并在那里引用它。

标签: javascript php html pdf


【解决方案1】:

我认为问题与网址有关。如果我通过浏览器(Opera 和 Microsoft Edge)在我的计算机中打开某个文件,则 url 看起来像这样:

file:///C:/xxx/xxx.pdf

也许简单地输入 c:/... 将不起作用。

您的 php 代码的另一个问题是 $file 只是一个路径,而不是一个文件。查看更多示例here

请记住,当您在实际生产中使用此代码时,您不能将用户重定向到您自己的驱动器等“c:/”,因为这意味着要使用用户“c”驱动器。

【讨论】:

  • 感谢您的建议,我在第二个标题行提供了文件名。因此,它的有效文件路径加在一起,但它不起作用,所以显然有问题。我会检查你的建议,谢谢
猜你喜欢
  • 2017-01-20
  • 1970-01-01
  • 2013-02-06
  • 2017-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
相关资源
最近更新 更多