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

PHP
EPSON打印机 连供墨水系统 维修有哪些保养窍门
最简便的MySql数据库备份方法MySQLdump
台湾中原大学php教程孙仲岳主讲
讲的非常不错的PHP编码规范
PHP读取目录下所有文件的代码
使用ETags减少Web应用带宽和负载
Http 1.1 Etag 与 Last-Modified提高php效率
优化使用mysql存储session的php代码
php下MYSQL limit的优化
深入解析php模板技术原理【一】
php框架Phpbean说明
Phpbean路由转发的php代码
php模板之Phpbean的目录结构
set_include_path在win和linux下的区别
php扩展ZF——Validate扩展
在PHP中使用Sockets 从Usenet中获取文件
逐步提升php框架的性能
ZF等常用php框架中存在的问题
php下使用SMTP发邮件的代码
让PHP支持页面回退的两种方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 316 ::
收藏到网摘: 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