使用header()php将文件传递到浏览器中

时间:2016-08-04 14:00:54

标签: php

是否可以使用header()函数或其他php函数在本地将文件传递给浏览器?

我目前正在使用Chrome。我安装了Office Editing for Docs扩展程序,它基本上允许我通过将完整目录和文件名传递到Chrome的URL地址栏,在本地将Word docx文件打开到我的Chrome浏览器中。这实质上是在Chrome中打开Word文件。我想在php中完成这个任务

我在下面尝试过以下但没有运气。

header( 'Location: file://c:\users\jbloggs\desktop\test.docx' );

我知道header()函数主要用于重定向到网页

header( 'Location: http://www.google.com' );

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

它不能以这种方式工作,因为您正在尝试从远程服务器重定向到本地文件路径。出于安全考虑,Chrome不接受此操作。请注意,您的Web服务器是否在同一台物理计算机上运行并不重要,它被视为与本地文件系统不同的服务器。但是,您可以使用普通HTML完成此任务:

<a href="file://c:\users\jbloggs\desktop\test.docx">Document</a>

如果将其保存为静态HTML文件并在浏览器中打开,则应在单击时将其重定向到文档。如果您想要直接重定向,请使用JavaScripts window.location但是,您无法从HTTP服务器提供文件,如上所述。

如果你想这样做,你也必须从服务器提供.docx文件,包括静态内容,然后通过HTTP链接到它。

希望这有帮助!