按一下按钮即可下载文件和感谢页面

时间:2012-02-22 16:36:08

标签: php download

我在网站上有一个下载页面,其中包含许多ZIP文件的链接。我想允许用户点击下载按钮下载ZIP文件 - 另外当他们点击按钮时我希望浏览器将用户重定向到感谢页面。

这可能吗?如果有帮助,该网站是基于PHP的!

我已经读过你不能一次按下这个,所以需要调用下载感谢页面,然后从感谢页面提供下载文件功能...如果我有这个怎么可能?下载按钮/文件的负载虽然?需要从下载页面发送变量到downloads-thanks页面,以允许感谢页面处理正确的文件下载???

**********更新**********

好的,我已经开始实现PHP变量和GET函数了 - 但是我没有快乐,代码如下所示,这里是实例的链接 - http://www.example.biz/clients/example/downloads/ - 调用加载谢谢页面被忽略,我只是被提示保存文件下载???

下载页面:

    <a href="http://www.example.biz/clients/example/downloads/thanks.php?file=zip1">zip1</a>
    <a href="http://www.example.biz/clients/example/downloads/thanks.php?file=zip2">zip2</a>
    <a href="http://www.example.biz/clients/example/downloads/thanks.php?file=zip3">zip3</a>

thanks.php页面:

    <?php
    $file = $_GET['file'];
    if($file == "zip1")
    {
    header("Location: http://www.example.biz/clients/example/downloads/zip1.zip");
    }
    else if($file == "zip2")
    {
    header("Location: http://www.example.biz/clients/example/downloads/zip2.zip");
    }
    else if($file == "zip3")
    {
    header("Location: http://www.example.biz/clients/example/downloads/zip3.zip");
    }

    echo "Thankyou for downloading";

    ?>

**********更新2 *********

放弃了PHP,因为实际的PHP下载页面永远无法在屏幕上呈现 - 它提供正确的下载但感谢页面永远不会呈现...使用JS解决方案如下:

    <script>
    function thanks() {
        setTimeout(function () {
            document.location.pathname = "thanks.html";
        }, 1000);
    }
    </script>

    <a href="zip1.zip" onclick="thanks()">zip1</a>

3 个答案:

答案 0 :(得分:1)

这些方面的东西?

下载页面

<a href="thankyou.php?file=zip1">zip1</a>
<a href="thankyou.php?file=zip2">zip2</a>
<a href="thankyou.php?file=zip3">zip3</a>

谢谢你页面

<?php

$file = $_GET['file'];

if($file == "zip1")
{
   header("Location: http://domain.com/zip1.zip");
}
else if($file == "zip2")
{
   header("Location: http://domain.com/zip1.zip");
}

echo "Thankyou for downloading";

?>

答案 1 :(得分:1)

您只需将$_GET值传递到感谢页面即可... 即,当用户点击按钮时,该按钮具有表单或javascript的window.location功能,该功能会将用户重定向到感谢页面,您可以轻松传递$_GET值:

http://www.somthing.com/thanks-download-page.php?fileid=1

并且从thanks-download-page.php您可以读取$_GET['fileid']值,然后将该值传递给数据库或任何您想要获取文件位置详细信息的内容...

答案 2 :(得分:0)

如果您从感谢页面重定向到文件下载链接。 当浏览器处理下载链接时,它不会更改html文档视图。

您可以使用javascript进行操作。