ThinkPHP中重定向(redirect方法)
redirect 重定向的通用语法为:redirect(url,params=array(),delay=0,msg=)
用法:
protected function redirect($url,$params=array(),$delay=0,$msg=){
    $url = U($url,$params);
    redirect($url,$delay,$msg);
} 
源码:参见框架内置的functions.php文件
function redirect($url,$time=0,$msg=){
    //多行URL地址支持
    $url=str_replace(array("
","
"),,$url);
    if(empty($msg)) $msg="系统将在{$time}秒之后自动跳转到{$url}!";
    if(!headers_sent()){
        //redirect
        if($time == 0){
            header(Location:.$url);
        }else{
            header("refresh:{$time};url={$url}");
            echo($msg);
        }
        exit();
    }else{
        $str="<metahttp-equiv=Refreshcontent={$time};URL={$url}>";
        if($time != 0) $str.=$msg;
        exit($str);
    }
}  
// URL重定向
function redirect($url,$time=0,$msg=){
    //多行URL地址支持
    $url=str_replace(array("
","
"),,$url);
    if(empty($msg)) $msg="系统将在{$time}秒之后自动跳转到{$url}!";
    if(!headers_sent()){ //如果标头没有发出
        //redirect
        if($time == 0){
            header(Location:.$url);//如果没有指定延时时间,则发一个跳转标头
        }else{
            header("refresh:{$time};url={$url}");//如果制定了延时时间,则发一个延时刷新的标头
            echo($msg);
        }
        exit();
    }else{ //否则就发送meta标记,含义同上
        $str="<metahttp-equiv=Refreshcontent={$time};URL={$url}>";
        if($time != 0) $str.=$msg;
        exit($str);
    }
} 
function redirect($url,$time=0,$msg=){
    //多行URL地址支持
    $url=str_replace(array("
","
"),,$url);
    if(empty($msg)) $msg="系统将在{$time}秒之后自动跳转到{$url}!";
    if(!headers_sent()){
        //redirect
        if($time == 0){
            header(Location:.$url);
        }else{
            header("refresh:{$time};url={$url}");
            echo($msg);
        }
        exit();
    }else{
        $str="<metahttp-equiv=Refreshcontent={$time};URL={$url}>";
        if($time != 0) $str.=$msg;
        exit($str);
    }
}
				       
			          
