在php中下载文件

时间:2012-11-08 06:05:06

标签: php

目前我正在公司的网站上工作,如果求职者发布他们的简历,它将在管理面板中显示下载选项。

现在我需要帮助下载部分。在管理部分,我显示有关新注册求职者的信息,以及一个允许管理员下载求职者简历的按钮。至少我需要至少一个工作示例,如果我对文件下载进行了很好的讨论,我会非常感激。

我在网站上使用C#中的asp.net进行文件下载选项,但不知道如何在html PHP中实现它。

2 个答案:

答案 0 :(得分:1)

见到你说已经有了下载链接。只需链接到该文件。

<a href="download.php?file=user-cv.pdf">Download</a>

download.php中,以这种方式提供Content-disposition: attachment;

<?php
    # Sanitize the code to avoid injection
    $file = "uploads/" . stripslashes(str_replace(array("..", "/"), "", $_GET["file"]));
    header('Content-Disposition: attachment; filename="' . $file . '"');
    header('Content-type: application/pdf');
    readfile($file);
    die();
?>

警告:

正如Corbin所说,如果人们试图直接访问该文件,则存在巨大的安全漏洞。最好将它作为文件名,文件类型存储在DB中,以便以这种方式访问​​它:

<a href="download.php?user=praveenscience">Download</a>

在PHP代码中,从MySQL服务器获取结果并以这种方式下载:

<?php
    $file = mysql_result(/* Query Here */);
    header('Content-Disposition: attachment; filename="' . $file["filename"] . '"');
    header('Content-type: ' . $file["mimetype"]);
    readfile($file["filename"]);
    die();
?>

答案 1 :(得分:0)

将完整的简历路径与服务器中的文件名一起提供为下载按钮的超链接

像这样:

<a href="<?php echo 'path of file/filename';?>"><img src="download.png"></a>