如何允许用户从php服务器下载文件

时间:2014-12-27 16:05:10

标签: php html file-upload download

我已经构建了一个工具,用户可以在其中上传文档。

但是,我发现很难让用户从我的网站下载他们的文件。我可以在C:/xampp/htdocs/myfile/uploads/上看到用户在我的服务器上上传的文件。

我假设最终结果可能类似于:<a href="magic.php"> Download file </a>

2 个答案:

答案 0 :(得分:4)

下载链接

<a href="magic.php?file=<?php echo urlencode($row['name']); ?>">Download</a>

magic.php页面

<?php
$file = 'C:/xampp/htdocs/myfile/uploads/'.urldecode($_GET['file']);

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
?>

答案 1 :(得分:0)

也许你可以这样做:(如果我错了,请纠正我)

<a href="uploads/<?php echo $row['name']; ?>" download="download">