【问题标题】:Output HTML and Download a File with PHP输出 HTML 并使用 PHP 下载文件
【发布时间】:2017-12-31 17:00:04
【问题描述】:

我正在尝试为我的网站创建一个“下载”页面。我正在使用这样的网址:http://example.com/download?file=21。服务器上文件的实际位置与文件 ID 一起存储在数据库中。我希望下载页面显示正在下载的文件的名称以及其他一些 HTML。我无法弄清楚如何在同一个 PHP 页面上下载文件和显示输出。

我看到的所有使用 PHP 实际下载文件的建议都需要更改标题。我是否需要显示下载页面,然后使用 AJAX 之类的文件下载文件?

【问题讨论】:

    标签: php ajax


    【解决方案1】:

    我会在没有 ajax 的情况下这样做。

    我会创建一个脚本来显示带有其他 html 信息 http://example.com/file?id=21 的文件,如果设置了下载参数 (http://example.com/file?id=21&download=1),该脚本只会打印标题并发送文件。

    然后,在http://example.com/file?id=21 中,我将创建一个空 iframe(在代码中或使用 javascript 动态创建),然后当用户想要下载文件时,您只需将该 iframe 的 url 设置为 http://example.com/file?id=21&download=1 和文件将开始下载。无需 ajax 或重新加载网站,只需 javascript 在用户想要下载文件的那一刻设置 iframe url。

    这不是唯一的方法,但我认为这是一个很好的方法。

    【讨论】:

    • 谢谢,我没想过使用隐藏的 iframe。
    • 其实我已经搜索了一下,我看到了一个 jquery lib 来下载文件,它也使用 iframe johnculviner.com/…
    猜你喜欢
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    相关资源
    最近更新 更多