php中header执行后是否应该有exit()函数

2015年6月11日 发表评论 阅读评论

转载至:http://www.111cn.net/phper/php/59276.htm

闪电站小猪的理解是如果程序完了,后面就没必要在结尾写exit(),如果后面还有语句要看情况,如果你希望跳转后这个页面的脚本不执行了,那就要加exit().

看下面的作者原文好了:

php header后是否需要书写exit以终止程序,以前一直没有太在意,今天遇到个bug,才发现这还是个问题,特意写了段代码测试了一下,代码如下:

通常有一下三种:

代码如下
复制代码

Location: xxxx:yyyy/zzzz

Content-Type: xxxx/yyyy

Status: nnn xxxxxx

常用实例

1.实现重定向(状态码302)

代码如下
复制代码

<?php
header(”Location: http://www.111cn.net”);
exit;
?>

例子

代码如下
复制代码

<?php
header("Location:http://www.111cn.net/");
//exit();
file_put_contents($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR."n.txt",’php程序员教程网’,LOCK_EX);

果证明php文件运行过程中如果碰到有header("Location:某个页面URL");这种语句,会直接跳转到另一个页面,但是这里的跳转并没有影响当前php文件的继续执行。也就是是说php header跳转之后,当前页面的脚本会继续执行。如果需要终止脚本运行,需要加exit()或者die()。

但对于有些用法就不需要了

404代码

代码如下
复制代码

<?php
header(‘HTTP/1.1 404 Not Found’);
header("status: 404 Not Found");
?>

301

<?
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: www.111cn.net" );
?>


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/957.html

  1. 本文目前尚无任何评论.