zl程序教程

您现在的位置是:首页 >  后端

当前栏目

PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数

JSPHP封装HTML重定向 函数 一个 支持
2023-06-13 09:15:28 时间

PHP跳转,即重定向浏览器到指定的URL,是一个很常见的功能。这种功能也有一些细节性的要求,比如等待多少秒以后跳转,用不用JavaScript实现跳转,等等。下面的跳转方法考虑到很多,并参数化,可以用到具体的项目当中。

<?php
/**
*重定向浏览器到指定的URL
*
*@paramstring$url要重定向的url
*@paramint$delay等待多少秒以后跳转
*@parambool$js指示是否返回用于跳转的JavaScript代码
*@parambool$jsWrapped指示返回JavaScript代码时是否使用<mce:scripttype="text/javascript"><!--
标签进行包装
*@parambool$return指示是否返回生成的JavaScript代码
*/
functionredirect($url,$delay=0,$js=false,$jsWrapped=true,$return=false)
{
$delay=(int)$delay;
if(!$js){
if(headers_sent()||$delay>0){
echo<<<EOT
<html>
<head>
<metahttp-equiv="refresh"content="{$delay};URL={$url}"/>
</head>
</html>
EOT;
exit;
}else{
header("Location:{$url}");
exit;
}
}

$out="";
if($jsWrapped){
$out.="<scriptlanguage="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.="
//--></mce:script>";
}

if($return){
return$out;
}

echo$out;
exit;
}
?>