PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数

作者:junjie 时间:2023-11-19 07:25:14 

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,重定向,跳转
0
投稿

猜你喜欢

  • Pytorch 数据加载与数据预处理方式

    2021-06-12 11:07:05
  • 浅谈function(函数)中的动态参数

    2023-08-11 10:23:59
  • 实用的 vue tags 创建缓存导航的过程实现

    2024-05-29 22:45:55
  • 安装SQL Server2019详细教程(推荐!)

    2024-01-22 18:23:11
  • 利用python汇总统计多张Excel

    2023-12-31 14:22:11
  • python批量修改交换机密码的示例

    2023-06-29 07:52:42
  • asp 获取url函数小结

    2011-03-17 10:38:00
  • firebug1.7调试实用技巧指南

    2011-06-27 20:17:22
  • 运用ASP调用数据库中视图及存储过程

    2008-02-03 15:33:00
  • python3中int(整型)的使用教程

    2021-12-29 19:51:31
  • Opera下cloneNode的bug

    2007-11-23 11:40:00
  • Chrome调试折腾记之JS断点调试技巧

    2023-07-07 16:35:08
  • 致Python初学者 Anaconda入门使用指南完整版

    2021-09-08 04:48:36
  • Python文件处理、os模块、glob模块

    2023-03-03 17:27:16
  • Php多进程实现代码

    2023-10-11 09:23:14
  • Python学习笔记之读取文件、OS模块、异常处理、with as语法示例

    2023-03-20 21:54:58
  • MySQL深分页问题原理与三种解决方案

    2024-01-27 14:12:34
  • python 破解加密zip文件的密码

    2021-01-10 19:59:39
  • 对Python获取屏幕截图的4种方法详解

    2023-11-19 09:45:41
  • 如何用Python做一个微信机器人自动拉群

    2023-04-07 10:50:09
  • asp之家 网络编程 m.aspxhome.com