PHP封装的一个支持HTML、JS、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; } ?>
相关推荐
-
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和行为提取出来,形成一个物理模型(模版),这种研究问题的方法称为抽象一.封装性 封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作. php提供了三种访问控制修饰符 public 表示全局,本类内部,类外部,子类都可以访问 protected 表示受保护的,只有本类或子类可以访问 private 表示
-
解密ThinkPHP3.1.2版本之模板继承
模板继承是ThinkPHP3.1.2版本添加的一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区块(block),然后继承(extend)该基础模板的子模板中就可以对基础模板中定义的区块进行重载. 因此,模板继承的优势其实是设计基础模板中的区块(block)和子模板中替换这些区块. 每个区块由<block></block>标签组成,并且不支持b
-
php的curl封装类用法实例
本文实例讲述了两个php curl封装类的用法实例,这两个函数可以让我们非常的方便的使用php curl相关函数.分享给大家供大家参考.具体如下: 使用函数之前我们要需要把php curl模块打开(libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll) 开启php curl函数库的步骤 1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; /*用 echo phpinfo();查看php.ini
-
PHP实现的封装验证码类详解
用PHP写一个验证码类,并进行封装.类名: validationcode.class.php代码如下: 复制代码 代码如下: <?php class ValidationCode { private $width; private $height; private $codeNum; private $image; //图像资源 private $disturbColorNum; private $checkCode; function __construct($width=8
-
php图片水印添加,压缩,剪切的封装类实现
php对图片文件的操作主要是利用GD库扩展.当我们频繁利用php对图片进行操作时,会自然封装很多函数,否则会写太多重复的代码.当有很多对图片的相关函数的时候,我们可以考虑将这些函数也整理一下,因而就有了封装成类的想法. 操作图片主要历经四个步骤: 1.打开图片 2.操作图片 3.输出图片 4.销毁图片 1,3,4三个步骤每次都要写,每次又都差不多.真正需要变通的只有操作图片的这一步骤了.操作图片又往往通过1或多个主要的GD函数来完成. <?php class Image { private $i
-
php构造函数的继承方法
本文实例讲述了php构造函数的继承方法.分享给大家供大家参考.具体如下: 第一种情况:子类没有定义构造函数时,默认继承.例子: <?php class A{ public $name; function __construct(){ echo $this->name="小强"; } } class B extends A{ } $bb = new B(); ?> 输出结果:小强 第二种情况:子类定义了构造函数,则不会被继承.实例: <?php class A{
-
php递归获取目录内文件(包含子目录)封装类分享
代码如下: 复制代码 代码如下: function readFileFromDir($dir) { if (!is_dir($dir)) { return false; } //打开目录 $handle = opendir($dir); while (($file = readdir($handle)) !== false) { //排除掉当前目录和上一个目录 if ($file == "." || $file =
-
PHP类的封装与继承详解
封装 把成员方法和成员属性封装到类中,隐藏属性和方法实现的细节,通过public.protected.private等限定类成员的访问权限,数据被保护在内部,只通过被授权的成员方法才可以操作,尽可能的对成员进行封装. public:方法或者属性在任何作用域下都可以访问到,而且是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public. protected:本类和子类可以访问,外部对象不可以调用. private:只能在本类访问,子类与外部对象都不可能调用.经过private标记的方法或
-
thinkphp模板继承实例简述
本文实例讲述了thinkphp模板继承的实现方法.分享给大家供大家参考.具体实现方法如下: 模板的继承: 复制代码 代码如下: <block name='top'></block><!--这是父级模板--> <div style='border:1px solid gray;background:#abcdef;height:100px;'>广告部分</div> <block name='body'></block> &l
-
PHP封装的Twitter访问类实例
本文实例讲述了PHP封装的Twitter访问类.分享给大家供大家参考.具体如下: class Twitter { /** * Method to make twitter api call for the users timeline in XML * * @access private * @param $twitter_id, $num_of_tweets * @return $xml */ private function api_call($twitter_id, $num_of_twe
-
PHP类继承 extends使用介绍
出来工作这么久了,项目经验倒是不少,但是当问及底层的东西时候,常常是一言不发了.现在项目设计底层的东西越来越少,可以说是真正用到的也就是那么一点,真正核心的东西都已经被框架封装好了.总感觉自己一直进步很慢,关于底层设计思想,常常也只可意会.随着时间的流逝,我们常常会感慨书到用时方恨少了,接下来一定要恶补设计思想了. 今天先来复习一下类继承. 类继承很重要,作为程序员也基本每天都会和他打交道,但是有些东西你真的都知道吗?下面是从官网上面看到的. 一个类可以在声明中用 extends,关键字继承另一
-
php类的扩展和继承用法实例
本文实例讲述了php类的扩展和继承用法.分享给大家供大家参考.具体如下: <?php class Thread { var $topic; //帖子主题 var $body; //帖子内容 var $date; //帖子发布时间 var $author; //帖子作者 //函数Thread用于初始化变量等 function Thread() { //初始化变量 } //函数Send用于提交新帖子 function Send() { //检测变量的合法性后执行插入操作将变量存储到数据库中 } //
-
PHP封装的HttpClient类用法实例
本文实例讲述了PHP封装的HttpClient类.分享给大家供大家参考.具体分析如下: 这是一段php封装的HttpClient类,可实现GET POST Cookie Session等简单的功能.原来做过,这两天重新修改了一下. <?php /* * Filename: httpclient.php * Created on 2012-12-21 * Created by RobinTang * To change the template for this generated file go
-
php继承中方法重载(覆盖)的应用场合
本文实例分析了php继承中方法重载(覆盖)的应用场合.分享给大家供大家参考.具体分析如下: 方法重载(override)/覆盖--在什么情况下使用:当父类知道所有的子类都需要用到一个方法,但父类不知道怎么去写这个方法时,就需要用到方法的重载.这时候,可以让子类去重写,来覆盖这个方法. 通俗实例--父类(动物)知道其子类(猫和狗)都会叫,但它们的叫法都不一样,所以父类没法去写这个方法,只能让子类(猫和狗)去定义.代码如下: <?php class Animal{ public $name; pro
-
PHP封装CURL扩展类实例
本文实例讲述了PHP封装CURL扩展类.分享给大家供大家参考.具体如下: <?php /** * @description: 封装CURL扩展 * @date: 2014-07-28 16:04 */ /** * @编码规范 * @class 类名首字母大写,类名为多个单词, 每个大字首字母大写 eg: class Curl , class CurlPage * @variable 变量名小写, 变量名为多个单词, 每个单词小写,使用下划线_分割 eg: $curl_result * @func
-
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
CSV大文件的读取已经在前面讲述过了(PHP按行读取.处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题. 1.如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容,使用换行符进行拆分得出总行数,这种办法对小文件可行,处理大文件时不可行:办法二:使用fgets一行一行遍历,得出总行数,这种办法比办法一好一些,但大文件仍有超时的可能:办法三:借助SplFileObject类,直接将指针定位到文件末尾,通过SplFileObject::key方法获取总行数,这种办
-
php实现的Curl封装类Curl.class.php用法实例分析
本文实例讲述了php实现的Curl封装类Curl.class.php用法.分享给大家供大家参考.具体如下: <?php //curl类 class Curl { function Curl(){ return true; } function execute($method, $url, $fields='', $userAgent='', $httpHeaders='', $username='', $password=''){ $ch = Curl::create(); if(false =
-
php实现mysql封装类示例
php封装mysql类 复制代码 代码如下: <?php class Mysql { private $host; private $user; private $pwd; private $dbName; private $charset; private $conn = null; public function __construct() { $this->host = 'localhost'; $this->user = 'root'; $this->pwd = 'ro
-
php类的定义与继承用法实例
本文实例讲述了php类的定义与继承用法.分享给大家供大家参考.具体如下: <?php /* * class */ class people { public $name; public $age; function __construct($namec,$agec) { $this->name = $namec; $this->age = $agec; } protected function getmessage() { return "姓名:".$this->
随机推荐
- JS类中定义原型方法的两种实现的区别
- CSS定义Hover实现文字变大的超级链接
- 卸载OICQ造成网上银行不能连接的故障的解决方法
- 忘记管理员密码的处理办法
- MyBatis 参数类型为String时常见问题及解决方法
- Java实现AES加密算法的简单示例分享
- Python编程实现的图片识别功能示例
- IOS开发相册图片多选和删除的功能
- 微信中一些常用的js方法汇总
- 一些技巧性实用js代码小结
- 参考:关于Javascript中实现暂停的几篇文章
- jsp引用servlet生成的验证码代码演示
- js纯数字逐一停止显示效果的实现代码
- 深入理解JavaScript系列(47):对象创建模式(上篇)
- bootstrap table单元格新增行并编辑
- Mybatis实战之TypeHandler高级进阶
- 美元人民币汇率查询与即时美元汇率中间牌价的网站
- 小议Java的源文件的声明规则以及编程风格
- PHP十六进制颜色随机生成器功能示例
- PHP的栏目导航程序