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 和 XML: 使用expat函数(三)
Oct 09 PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
使用迭代器 遍历文件信息的详解
Jun 08 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
php之curl实现http与https请求的方法
Oct 21 PHP
php集成动态口令认证
Jul 21 PHP
php 根据自增id创建唯一编号类
Apr 06 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 PHP
php和nginx交互实例讲解
Sep 24 PHP
你真的了解PHP中的引用符号(&)吗
May 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通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
php实现无限级分类
2014/12/24 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
JS前端加密算法示例
2016/12/22 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
python Scrapy框架原理解析
2021/01/04 Python
数据库面试要点基本概念
2013/10/31 面试题
医学专业应届生的自我评价
2014/02/28 职场文书
家长会主持词
2014/03/26 职场文书
八一建军节演讲稿
2014/09/10 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
蓬莱阁导游词
2015/02/04 职场文书
学雷锋主题班会教案
2015/08/13 职场文书