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 相关文章推荐
如何突破PHP程序员的技术瓶颈分析
Jul 17 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
php获取字符串中各个字符出现次数的方法
Feb 23 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
Yii中CGridView实现批量删除的方法
Dec 28 PHP
joomla组件开发入门教程
May 04 PHP
php单链表实现代码分享
Jul 04 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
PHP 多任务秒级定时器的实现方法
May 13 PHP
PHP Include文件实例讲解
Feb 15 PHP
Laravel5.7 Eloquent ORM快速入门详解
Apr 12 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学习的路线图
2013/07/10 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
python 输出一个两行字符的变量
2009/02/05 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
Python脚本调试工具安装过程
2021/01/11 Python
HTML5计时器小例子
2013/10/15 HTML / CSS
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
个人授权委托书
2014/04/03 职场文书
《社戏》教学反思
2014/04/15 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
2015年读书月活动总结
2015/03/26 职场文书
在校生证明
2015/06/17 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL