由于大多数主流浏览器都内联显示PDF和媒体文件,因此使用PHP编程语言(允许您更改正在编写的文件的HTTP标头)以强制浏览器下载而不是显示给定的文件类型。
您将需要托管文件的Web服务器上的PHP,要下载的文件以及相关文件的MIME类型。
如何使用PHP强制下载文件?此过程需要两个单独的步骤。首先,您将创建一个管理您希望保护的文件的PHP文件,然后您将在该页面的HTML中添加对该PHP文件的引用。
将文件上载到服务器后,在文本编辑器中创建PHP文档。例如,如果您希望强制test.pdf下载而不是显示内联,请创建如下脚本:
<?php
header(“Content-disposition:attachment; filename = test.pdf”);
header(“Content-type:application / pdf”);
ReadFile的( “test.pdf”);
?>
PHP中的内容类型引用很重要 - 它是您要保护的文件的MIME类型。例如,如果您保存了MP3文件,则需要将application / pdf替换为audio / mpeg。
文件中的任何位置都不应有空格或回车符(分号后除外)。空行将导致PHP默认为text / html的MIME类型,并且您的文件将不会下载。
将PHP文件保存到与HTML页面相同的位置,当然你可以保存到其他位置,前提是需要更改目录路径。然后修改页面的PDF链接,如下所示:
<a href="test.php">下载PDF </a>
这个功能有两个需要注意的地方。首先,如果有人发现了PDF文件的直接链接,他或她可以直接访问它,而不会使用PHP功能。其次,使用这种快速简便的方法,您需要为要保护的每个文件提供PHP保护。为了以这种方式保护多个文件,将受保护文件和具有相同名称的PHP文件命名为仅在扩展名中有所不同,以保持一切正常使用。