PHP 跳转,即重定向浏览器到指定的 URL,是一个很常见的功能。这种功能也有一些细节性的要求,比如等待多少秒以后跳转,用不用JavaScript实现跳转,等等。下面的跳转方法考虑到很多,并参数化,可以用到具体的项目当中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <?php
function redirect( $url , $delay = 0, $js = false, $jsWrapped = true, $return = false)
{
$delay = (int) $delay ;
if (! $js ) {
if (headers_sent() || $delay > 0) {
echo <<<EOT
<html>
<head>
<meta http-equiv= "refresh" content= "{$delay};URL={$url}" />
</head>
</html>
EOT;
exit ;
} else {
header( "Location: {$url}" );
exit ;
}
}
$out = '' ;
if ( $jsWrapped ) {
$out .= '<script language="JavaScript" type="text/javascript">' ;
}
$url = rawurlencode( $url );
if ( $delay > 0) {
$out .= "window.setTimeOut(function () { document.location='{$url}'; }, {$delay});" ;
} else {
$out .= "document.location='{$url}';" ;
}
if ( $jsWrapped ) {
$out .= '
}
if ( $return ) {
return $out ;
}
echo $out ;
exit ;
}
?>
|
Copier après la connexion