当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-02-22 16:07:50 浏览: 评论:0 

这篇文章主要介绍了PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数,需要的朋友可以参考下。

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

  1. <?php    
  2. /**    
  3.  * 重定向浏览器到指定的 URL    
  4.  *    
  5.  * @param string $url 要重定向的 url    
  6.  * @param int $delay 等待多少秒以后跳转    
  7.  * @param bool $js 指示是否返回用于跳转的 JavaScript 代码    
  8.  * @param bool $jsWrapped 指示返回 JavaScript 代码时是否使用 <mce:script type="text/javascript"><!--  
  9.  标签进行包装    
  10.  * @param bool $return 指示是否返回生成的 JavaScript 代码    
  11.  */    
  12. function redirect($url$delay = 0, $js = false, $jsWrapped = true, $return = false)      
  13. {      
  14.   $delay = (int)$delay;      
  15.   if (!$js) {      
  16.     if (headers_sent() || $delay > 0) {      
  17.       echo <<<EOT      
  18.   <html>      
  19.   <head>      
  20.   <meta http-equiv="refresh" content="{$delay};URL={$url}" />      
  21.   </head>      
  22.   </html>      
  23. EOT;      
  24.       exit;      
  25.     } else {      
  26.       header("Location: {$url}");      
  27.       exit;      
  28.     }      
  29.   }      
  30.       
  31.   $out = '';      
  32.   if ($jsWrapped) {      
  33.     $out .= '<script language="JavaScript" type="text/javascript">';      
  34.   }      
  35.   $url = rawurlencode($url);      
  36.   if ($delay > 0) {      
  37.     $out .= "window.setTimeOut(function () { document.location='{$url}'; }, {$delay});";      
  38.   } else {      
  39.     $out .= "document.location='{$url}';";      
  40.   }      
  41.   if ($jsWrapped) {      
  42.     $out .= '  
  43. // --></mce:script>';      
  44.   }      
  45.       
  46.   if ($return) {      
  47.     return $out;      
  48.   }      
  49.       
  50.   echo $out;      
  51.   exit;      
  52. }     
  53. ?> 

Tags: PHP封装 PHP重定向

分享到: