PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
作者:junjie 发布时间:2023-11-19 07:25:14
标签:PHP,重定向,跳转
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;
}
?>
0
投稿
猜你喜欢
- 本文实例讲述了python有证书的加密解密实现方法。分享给大家供大家参考。具体实现方法如下:最近在做python的加解密工作,同时加完密的串
- 首先创建scrapy项目命令:scrapy startproject douban_read创建spider命令:scrapy genspi
- 区别:xx:公有变量,所有对象都可以访问;xxx:双下划线代表着是系统定义的名字。__xxx:双前置下划线,避免与子类中的属性命名冲突,无法
- 最近看JavaScript高级程序设计,大有收获,接下来几天写一下读书笔记。之前写了一篇Ajax初步理解的随笔,里面有个函数用来创建XmlH
- 简单介绍Mac下使用HomeBrew安装Python 3.*版本并设置为默认值1、首先查看Mac自带的python,可以看到是2.7.10的
- JavaScript Dom编程 学习书籍选择JavaScript Dom编程学习,很多朋友无疑对如何选择入门的书籍,比较头疼。或许也是他们
- Mysql的分页的两个参数select * from user limit 1,21表示从第几条数据开始查(默认索引是0,如果写1,从第二条
- Python使用Pika库(安装:sudo pip install pika)可以操作RabbitMQ消息队列服务器(安装:sudo apt
- 知道如何快速在命令行或者python脚本中实例化一个浏览器通常是非常有用的。每次我需要做任何关于web的自动任务时,我都使用这段python
- #当前文件的路径pwd = os.getcwd()#当前文件的父路径father_path=os.path.abspath(os.path.
- 目录Python的内置数据类型中的数字1、变量2、数据类型总览3、Python是弱类型的语言4、各数据类型的详细介绍4.1 整数(int)4
- 影响 JavaScript性能的另外一个杀手就是递归,在上一节中提到采用memoization技术可以优化计算数值的递归函数,但memoiz
- mysql explain命令用于显示mysql如何使用索引来处理select语句以及连接表。通过该命令可以分析出查询语句或是表结构的性能瓶
- python文件可以直接使用命令python xxx.py来启动文件,但是这样会有一个弊端,就是关闭ssh连接,python文件就会自动的进
- 前言用 HTML5 的 Canvas 元素实现一个带有跳动效果的粒子动画。会用到 Canvas 的2D渲染上下文,通过 JavaScript
- 一、数据插入思路如果一条一条插入普通表的话,效率太低下,但内存表插入速度是很快的,可以先建立一张内存表,插入数据后,在导入到普通表中。1、创
- 工程结构views.pydef home(request): TutorialList = ["HTML",
- 根据官网的文档,要在一个html文件下使用layui里面的组件库其实很简单,但是在vue项目中使用该ui库却存在着很多坑,下面我们就详细讲解
- Pydicom单张影像的读取使用 pydicom.dcmread() 函数进行单张影像的读取,返回一个pydicom.dataset.Fil
- 大家都遇到过验证码,随着灌水机的发展,验证码也是日新月异,验证码开始分了繁体简体,带着字母、符号,甚至开始了中文验证码,看到这样的验证码,估