如何在HTML / PHP中编写一个链接,使用户下载文件?

时间:2010-11-22 02:35:39

标签: php html file download

我正在编写一个使用文件上传和文件下载的PHP程序。一个问题是文件可以是任何类型,我不知道如何制作它以便链接显示下载弹出窗口。我该怎么做?

谢谢!

复仇的书呆子

3 个答案:

答案 0 :(得分:2)

所以要帮助你把这一切都放在一起。

第1页(用户选择要下载的文件)

files_to_download.php(用户看到的文件)

<a href="download.php?file=file1.pdf">PDF File</a>
<a href="download.php?file=file1.doc">Word Doc File</a>
<a href="download.php?file=file1.ppt">Power Point File</a>

download.php(链接到的文件)

<?php
$file = $_GET['file'];

// set your path
$path = '/path/to/your/files/';

// you'd probably want to do some error check here
// e.g. does file exist, etc.

// start download
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $file . '"');

答案 1 :(得分:0)

如果你把

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="blah.dat');

进入提供下载的PHP文件,浏览器将始终打开一个下载窗口,即使对于它本身可以处理的文件也是如此。

答案 2 :(得分:0)

设置适当的内容处理应该有效:

header('Content-Disposition: attachment');

您需要在发送文件内容的PHP脚本中执行此操作。如果文件是静态的而不是通过PHP提供的,你也可以使用.htaccess文件(当使用Apache时):

Header set Content-Disposition attachment