网站建设中如何用PHP实现强制文件下载


浏览器在后台所做的一件事,就是尝试让一个人在浏览会话期间,所做的所有点击都能做一些事情。这意味着可以打开越来越多的文件类型,以便在Web浏览器中直接查看。大多数情况下,这是一件好事,因为点击您想要阅读的文档的链接,然后不得不等待它下载并最终在您的计算机上打开,这可能是非常令人沮丧的。当您等待此下载时,当您发现您没有正确的程序来打开文档时,这种挫折感达到了更高的水平。现在,这种情况很少发生,因为浏览器确实直接以内联方式显示文档。例如,PDF文件在默认情况下不会下载。相反,它们直接显示在Web浏览器中,类似于网页的显示方式。
如果您希望用户下载文件而不是直接在Web浏览器中查看该文件,该怎么办?如果是HTML文件或PDF文件,您不能仅仅发布到该文档的链接,因为(正如我们刚才介绍的那样)Web浏览器会自动打开这些文档并以内联方式显示它们。要将这些文件下载到一个人的计算机上,您需要使用PHP进行一些处理。
PHP允许您更改正在编写的文件的HTTP标头。此过程使您可以强制下载通常浏览器将在同一窗口中加载的文件。这非常适合您希望客户下载而不是直接从浏览器在线使用的PDF、文档文件、图像和视频等文件。您需要在存放文件的Web服务器上使用PHP,要下载的文件以及相关文件的MIME类型。本文的目的就是告诉你在网站建设开发过程中,如何用PHP实现强制文件下载。
1、如何做到这一点
将要供下载的文件上载到Web服务器。例如,假设您有一个PDF文件,您希望用户在单击某个链接时下载该文件。您将首先将该文件上载到您的网站的托管环境中。
huge_document.pdf
2、在您的Web编辑器中编辑一个新的PHP文件-为便于使用,我们建议将其命名为与下载的文件同名,但扩展名为.php,例如:
huge_document.php
3、在文档中打开PHP块:
4、在下一行中,设置HTTP标头:
header("Content-disposition: attachment; filename=huge_document.pdf");
5、然后设置文件的MIME类型:
header("Content-type: application/pdf");
6、指向要下载的文件:
readfile("huge_document.pdf");
7、然后关闭PHP块并保存文件:
?>

8、PHP文件应如下所示:

9、链接到您的PHP文件作为下载链接从一个网页。例如:
Download my huge document (PDF)
10、文件中的任何位置都不应有空格或回车符(除分号之后)。空行将导致PHP默认为MIME类型 text/html 你的文件也不会下载。

文章名称:网站建设中如何用PHP实现强制文件下载
本文地址:http://scyanting.com/view/157177.html