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 相关文章推荐
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
PHP开发中的错误收集,不定期更新。
Feb 03 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
php加密解密函数authcode的用法详细解析
Oct 28 PHP
php筛选不存在的图片资源
Apr 28 PHP
PHP 错误处理机制
Jul 06 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
Oct 12 PHP
php把文件设置为插件的技巧方法
Feb 03 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 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 JSON格式数据交互实例代码详解
2011/01/13 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
php实现微信扫码支付
2017/03/26 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
基层干部十八大感言
2014/01/19 职场文书
高中生毕业评语
2014/12/30 职场文书
遗嘱格式范本
2015/08/07 职场文书
小学语文教师研修日志
2015/11/13 职场文书
工作一年自我鉴定
2019/06/20 职场文书
python实现web邮箱扫描的示例(附源码)
2021/03/30 Python
P站美图推荐——变身女主角特辑
2022/03/20 日漫