php download.php实现代码 跳转到下载文件(response.redirect)


一直对php不太熟悉,今天需要类型asp的 response.redirect语句,但一直没有很好的解决方法。下面是问了朋友才知道的。

if (isset($link)) 
                    Header("HTTP/1.1 303 See Other"); 
                    Header("Location: $link"); 

Hey Chris:
On Wed, Jan 26, 2005 at 12:28:19PM -0500, csnyder wrote:
> <?php
> // process form
> ...
> // redirect to results page
> header( 'HTTP/1.1 303 See Other' );
> header( 'Location: result.html' );
> exit( 'Form submitted, <a href="result.html">continue</a>.' );
> ?>
Good point. But some feedback here. The optimail syntax is:
// process form
// ...
// redirect to results page
header('Status: 303 See Other' );
Here's why...
Using "Status:" in the header is better because the resulting headers from
Apache are more correct:
HTTP/1.1 303 See Other
instead of
HTTP/1.1 303
Additionally, one doesn't really know which version of HTTP is being used,
so why potentially cause problems by trying to guess.
The specs say location headers must have a complete URI in them, not just
the path.
Lastly, you don't want any output after the location header.