代码之家  ›  专栏  ›  技术社区  ›  GSto

当用户导航到另一页时自动开始下载

  •  2
  • GSto  · 技术社区  · 14 年前

    我想知道如何实现我在几个网站上看到的效果,在那里我单击“立即下载”链接,它将带我到另一个页面,下载将自动开始。最好的方法是什么?

    2 回复  |  直到 14 年前
        1
  •  7
  •   Community gkalpak    7 年前

    重定向到发出以下标题的页:

    header("Content-Disposition: attachment; filename=$filename");
    header("Content-Length: $length");
    

    this post 关于限制 $filename .

    编辑 对于andr的回答,php相当于redirect-after-x-seconds的值是:

    header("Refresh: 2; url=start_download.php");
    

    (尽管您应该正式指定一个完整的URL,我认为)start_download.php将包含上面的两行。

        2
  •  3
  •   Andrew    14 年前

    首先显示包含一些内容的页面(请稍候,blah blah),然后重定向到文件本身或输出文件的脚本。 重定向通过meta标记或javascript完成:

    1. HTML: <meta http-equiv="refresh" content="5;url=http://example.com/foo.zip" /> 其中“5”以秒为单位
    2. JS页面加载: setTimeout("location.href=http://example.com/foo.zip", 5000) 其中,“5000”以毫秒为单位。

    如果您选择通过php脚本输出文件,请遵循mvds的答案。