代码之家  ›  专栏  ›  技术社区  ›  Andy Haskell

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

  •  0
  • Andy Haskell  · 技术社区  · 14 年前

    复仇的书呆子

    3 回复  |  直到 14 年前
        1
  •  2
  •   Mark Steudel    14 年前

    为了帮你把这些都整理好。

    文件\u到_下载.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>
    

    <?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 . '"');
    
        2
  •  0
  •   AndreKR    14 年前

    如果你把

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

    在为下载服务的PHP文件中,浏览器将始终打开一个下载窗口,即使对于它可以自己处理的文件也是如此。

        3
  •  0
  •   ThiefMaster    14 年前

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

    header('Content-Disposition: attachment');
    

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

    Header set Content-Disposition attachment