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

yipeiwu_com7年前PHP代码库
跳转核心代码实现。
复制代码 代码如下:

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: //www.jb51.net/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

相关文章

[PHP]实用函数8

//建立dBase资料表 int dBase_create(string filename,array fields) //打开dBase资料表 int&n...

Apache实现Web Server负载均衡详解(不考虑Session版)

至少需三台服务器:服务器A:控制服务器服务器B和服务器C:实际执行服务器负载均衡原理:将访问服务器A的请求分发至服务器B和服务器C修改服务器A上apache的http.conf文件: 首...

php精度计算的问题解析

PHP var_dump(intval(0.58 * 100)); 正确结果是 57,而不是 58 浮点运算惹的祸 其实这些结果都并非语言的 bug,但和语言的实现原理有关,...

PHP 输出缓存详解

输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。 我们先举一个简单的例子,让...

PHP迭代器和迭代的实现与使用方法分析

本文实例讲述了PHP迭代器和迭代的实现与使用方法。分享给大家供大家参考,具体如下: PHP的面向对象引擎提供了一个非常聪明的特性,就是,可以使用foreach()方法通过循环方式取出一个...