制作动态下载链接的问题

时间:2012-04-27 05:07:24

标签: php dynamic download

我需要这个脚本的帮助。我有这个名为download.php的php脚本。我要做的是,我想让我的所有下载链接到这个页面,即我想让它变得动态。此外,当我点击链接时,它实际上播放MP3而不是为用户显示“另存为”。

1)请问如何使脚本动态化,以便此脚本适用于我的所有下载。

2)如何下载而不是播放/显示文件。

谢谢

   <?php
   $filename = 'download.mp3';

    header('Pragma: public'); 

    header('Expires: 0');

header('Cache-Control:must-revalidate,      post-check=0,pre-check=0');

 header('Cache-Control:private', false); 

   header('Content-Type:audio/mp3');

                header('Content-Disposition:         attachment;filename="'.basename             ($filename).'";');

      header('Content-Transfer-Encoding:        binary');

        header('Content-Length:'.filesize(            $filename));

     readfile($filename);

    exit;
    ?>

 HTML
 ======

 < a href="download.php"> MP3 </a>

1 个答案:

答案 0 :(得分:0)

让我们一步一步来。

1)使脚本动态化很容易。有两种方法:

a)使文件名出现在$ _GET中。例如:

$file = $_GET['file']; 

链接可以是

<a href="download.php?file=somefile.mp3">Download</a>

b)将文件数据存储在数据库中。数据库可能类似于id|filename|filesize|filetype,你可以说download.php?id=##,当调用id#时,它会将文件名发送到页面并下载文件。

2)自动下载文件。简单!

header("Content-Type: application/force-download"); 

用这个替换你的内容类型,你应该是金色的。强制下载不需要文件类型,他们只知道他们需要下载,现在!

希望这有助于=)