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 insert语法详解
Jun 07 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
php数组删除元素示例
Mar 21 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
关于php中一些字符串总结
May 05 PHP
PHP 闭包详解及实例代码
Sep 28 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
Jul 03 PHP
PHP explode()函数用法讲解
Feb 15 PHP
PHP压缩图片功能的介绍
Mar 21 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
May 14 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的源码中深入了解stdClass类
2014/04/18 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
php实现删除空目录的方法
2015/03/16 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
javascript instanceof,typeof的区别
2010/03/24 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Cython 三分钟入门教程
2009/09/17 Python
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
在python中bool函数的取值方法
2018/11/01 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
IRO美国官网:法国服装品牌
2018/03/06 全球购物
介绍下static、final、abstract区别
2015/01/30 面试题
党员组织关系介绍信
2014/02/13 职场文书
技校毕业生个人学习的自我评价
2014/02/21 职场文书
保送生自荐信
2015/03/06 职场文书
总账会计岗位职责
2015/04/02 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库