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

5年以前  |  阅读数:379 次  |  编程语言:PHP 

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


    <?php   
    /**   
     * 重定向浏览器到指定的 URL   
     *   
     * @param string $url 要重定向的 url   
     * @param int $delay 等待多少秒以后跳转   
     * @param bool $js 指示是否返回用于跳转的 JavaScript 代码   
     * @param bool $jsWrapped 指示返回 JavaScript 代码时是否使用 <mce:script type="text/javascript"><!-- 
     标签进行包装   
     * @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 .= ' 
    // --></mce:script>';     
      }     

      if ($return) {     
        return $out;     
      }     

      echo $out;     
      exit;     
    }    
    ?>
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例