2010-07-14 29 views
0

我可以在我的PHP代码中调用两个连续的头文件吗?PHP:如何处理序列中的2个头文件

header("Location: http://" . $_SERVER["HTTP_HOST"] . "/$file"); //download file (http get) 
header("Location: http://" . $_SERVER["HTTP_HOST"] . "/$page"); //redirect to page 

第一个标题函数重定向到一个url来下载文件,而第二个标题转发客户到下一页。

目前,如果我按顺序列出两个标题,则忽略第一个标题。

感谢

回答

1

我可以叫我的PHP代码连续两个头?

可以发出两个头,但只有一个是要通过浏览器进行解释,所以不,这不是真的有可能。

我会考虑在与target='_blank'的链接中下载文件以保持原始窗口的完好无损。

+0

mhm,有没有其他的方式来做到这一点,而无需打开空的浏览器窗口?我实际上必须调用一个库函数来生成PDF并发送电子邮件。它应该对用户不可见 – aneuryzm 2010-07-14 14:37:11

+1

@Patrick为什么不在用来提供下载的文件中调用该函数?这是一个PHP文件吗?我会添加更多信息以使其更清晰。 – Unicron 2010-07-14 14:39:29

0

只要您发送第一个标头,用户就会被重定向,并且看不到其他任何东西。你想要做的是将用户重定向到一个页面,并在该页面上开始文件下载。

+0

发送标题不会停止脚本的执行。第二个标题也将被发送。除非调用exit()或die(),否则头部调用下的任何代码也将运行。有时浏览器会很快重定向,有时候它们会显示第一页上发生的任何事情,直到第二页返回。 – 2010-07-14 15:29:38