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


Posted in PHP onJune 19, 2014

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 相关文章推荐
Content-type 的说明
Oct 09 PHP
PHP实时显示输出
Oct 02 PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
php中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
Mar 17 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
由php中字符offset特征造成的绕过漏洞详解
Jul 07 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
Apr 03 PHP
ThinkPHP3.1基础知识快速入门
Jun 19 #PHP
php计算两个日期时间差(返回年、月、日)
Jun 19 #PHP
php使用百度ping服务代码实例
Jun 19 #PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
Jun 19 #PHP
PHP采集类Snoopy抓取图片实例
Jun 19 #PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 #PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 #PHP
You might like
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
vue.js的安装方法
2017/05/12 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
Python实现栈的方法
2015/05/26 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
python实现随机加减法生成器
2020/02/24 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
文秘专业自荐信
2013/10/14 职场文书
倡导文明标语
2014/06/16 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
幼师中班个人总结
2015/02/12 职场文书
小学六一主持词开场白
2015/05/28 职场文书
《所见》教学反思
2016/02/23 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS