我正试图创建一个“下载”#39;我的网站的页面。我正在使用这样的网址:http://example.com/download?file=21
。服务器上文件的实际位置与文件ID一起存储在数据库中。我希望下载页面显示正在下载的文件的名称以及其他一些HTML。我无法弄清楚如何在同一个PHP页面上下载文件和显示输出。
我实际使用PHP下载文件的所有建议都需要更改标题。我是否需要显示下载页面,然后使用AJAX等文件下载文件?
答案 0 :(得分: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设置为{{1该文件将开始下载。不需要ajax或重新加载网站,只需要javascript来设置用户想要下载文件的iframe网址。
这不是唯一的方法,但我认为它是一个好方法。