当前位置: 首页 > 图文教程 > 网络编程 > PHP > php download.php实现代码 跳转到下载文件(response.redirect)

PHP
数据库相关问题
Oracle Faq(Oracle的版本)
[FAQ]PHP中的一些常识:类篇
第1次亲密接触PHP5(2)
ftp类(myftp.php)
PHP出错界面
对盗链说再见...
example2.php
3
PHP与javascript对多项选择的处理
用PHP创建PDF中文文档
用Socket发送电子邮件(利用需要验证的SMTP服务器)
PHP:风雨欲来 路在何方?
PHP的面向对象编程
提升PHP执行速度全攻略(下)
PHP中在数据库中保存Checkbox数据(2)
用在PHP里的JS打印函数
在线竞拍系统的PHP实现框架(一)
分页显示Oracle数据库记录的类之一
分页显示Oracle数据库记录的类之二

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 228 ::
收藏到网摘: n/a

一直对php不太熟悉,今天需要类型asp的 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.ruanchen.com/');
?>
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