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 相关文章推荐
PHPShop存在多个安全漏洞
Oct 09 PHP
一个从别的网站抓取信息的例子(域名查询)
Oct 09 PHP
php中autoload的用法总结
Nov 08 PHP
php时间戳转换的示例
Mar 31 PHP
php中数字0和空值的区别分析
Jun 05 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
php使用pack处理二进制文件的方法
Jul 03 PHP
php向js函数传参的几种方法
Aug 10 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
Sep 23 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PHP实现文字写入图片功能
Feb 18 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
mysql中存储过程、函数的一些问题
2007/02/14 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
python判断设备是否联网的方法
2018/06/29 Python
python读取目录下最新的文件夹方法
2018/12/24 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
Python实现扫码工具的示例代码
2020/10/09 Python
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
英语师范专业毕业生自荐信
2013/09/21 职场文书
绘画专业自荐信范文
2014/02/23 职场文书
总结表彰大会主持词
2014/03/26 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
辞职信格式模板
2015/02/27 职场文书