我正在努力让用户下载一个zip文件,但在此之前,他们必须填写一份包含一些必要详细信息的表单。
基本上,我能够做到,但问题是,当用户提交表单时,页面保持不变并且文件已下载。
我做的是,我创建了一个文件,其中包含调用另一个文件/页面作为成功页面的表单,当它进入成功页面时,该文件被下载的时间是提到,页面仍然是表单页面,文件会自动下载。
在我的代码中,我先调用下载文件的函数,然后调用将显示的智能模板的函数。
但问题是,似乎第二个功能并没有全部执行。起初我认为它的header()停止了它旁边的代码执行,但正如我已经读过的那样,header()函数之后的代码仍然执行,除非调用 exit
我还尝试调用将渲染smarty页面的函数,然后调用下载文件的函数,但它不起作用。似乎 display()调用之后的代码根本没有执行?
我有办法实现我想做的事吗?
答案 0 :(得分:0)
如果由于任何原因您的显示功能有问题,您应该简单地使用获取功能而不是显示。这样,您就可以使用生成的内容并执行任何您想要的操作
$siteContent = $smarty->fetch('yourtemplate.tpl');
// do anything you want
echo $siteContent;