该文章转自http://www.zendstudio.net/archives/php-redirect-function/
非常好!想与大家共享一下!
从fleaPHP中看到的,顺便就把他拿出来了,非常非常的实用!因为在PHP中重定向除非你不写程序,不然都得用。
/**
* 重定向浏览器到指定的 URL
* @param string $url 要重定向的 url
* @param int $delay 等待多少秒以后跳转
* @param bool $js 指示是否返回用于跳转的 JavaScript 代码
* @param bool $jsWrapped 指示返回 JavaScript 代码时是否使用 <script> 标签进行包装
* @param bool $return 指示是否返回生成的 JavaScript 代码
*/
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 .= '</script>';
}
if ($return) {
return $out;
}
echo $out;
exit;
}
什么时候能达雷哥的水平撒,看了部分的fleaPHP源码以后,一下就觉得自己太井蛙了(注意,不是青蛙 ^_^)。