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

  跳转核心代码实现。

  

复制代码 代码如下:

  if (isset($link))

  {

  Header("HTTP/1.1 303 See Other");

  Header("Location: $link");

  exit;

  }

  下面是国外的一篇文章说明。

  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:

  <?php

  // process form

  // ...

  // redirect to results page

  header('Status: 303 See Other' );

  header('Location: http://www.glzy8.com/result.html');

  ?>

  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.

  Later,

  --Dan