如何在PHP中创建可下载的链接?

时间:2014-05-14 12:19:03

标签: php

我使用文件系统来存储文件,所有文件都是word或pdf文件。我该如何在客户端创建可下载的链接。 任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:1)

您可以使用以下方式下载文件:

<?php
$file = 'filename.extension';

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));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

答案 1 :(得分:1)

您只需在href标记的<a />属性中编写文件路径...

<a href="http://domain.com/files/pdf/readme.pdf"> Download Here </a>

答案 2 :(得分:1)

<?php 
if (isset($_GET['file'])) {
    $file = $_GET['file'];
    if (file_exists($file) && is_readable($file) && preg_match('/\.pdf$/',$file)) {
        header('Content-Type: application/pdf');
        header("Content-Disposition: attachment; filename=\"$file\"");
        readfile($file);
    }
} else {
    header("HTTP/1.0 404 Not Found");
    echo "<h1>Error 404: File Not Found: <br /><em>$file</em></h1>";
}

尝试使用上面的代码段并将其命名为download.php

完成上述操作后,保存文件,如果需要,请上传到托管网页的服务器。 最后,一旦上传,您想要下载而不是在浏览器中打开的所有未来.PDF链接都需要指向download.php?file=example.pdf,其中example.pdf是您希望用户下载的PDF的名称。以下是完整链接的示例。此处输入代码

<a href="http://www.computerhope.com/download.php?file=example.pdf">Click here to download PDF</a>

答案 3 :(得分:0)

<a href="http://example.com/files/doc/some_file.doc">Download</a>

这应该可以胜任。