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 相关文章推荐
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
php代码书写习惯优化小结
Jun 20 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
推荐10个提供免费PHP脚本下载的网站
Dec 31 PHP
php实现过滤UBB代码的类
Mar 12 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
Feb 03 PHP
php数组和链表的区别总结
Sep 20 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 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
example2.php
2006/10/09 PHP
杏林同学录(八)
2006/10/09 PHP
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
什么是类的返射机制
2016/02/06 面试题
即兴演讲稿
2014/01/04 职场文书
实验教师岗位职责
2014/02/13 职场文书
比赛口号大全
2014/06/10 职场文书
干部对照检查材料范文
2014/08/26 职场文书
重点工程汇报材料
2014/08/27 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
病人慰问信范文
2015/02/15 职场文书
调解书格式范本
2015/05/20 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python