【问题标题】:Issues with making Dynamic Downloading Link制作动态下载链接的问题
【发布时间】:2012-04-27 05:07:24
【问题描述】:

请我需要有关此脚本的帮助。我有这个名为 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>

【问题讨论】:

    标签: php dynamic download


    【解决方案1】:

    让我们一步一步来。

    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"); 
    

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

    希望这会有所帮助 =)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多