自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不一样的焰火

天空海阔 要做最坚强的泡沫(进步、突破、创新)

  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

转载 php函数—get_magic_quotes_gpc()与addslashes()

magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误 在magic_quotes_gpc=On的情况下,如果输入的数据有单引号(’)、双引号(”)、反斜线()与 NUL(NULL 字符)等字符都会被

2015-06-30 22:15:56 6649

原创 php页面静态化—局部页面静态化原理

局部页面静态化就是指在纯html静态化文件中有部分的数据是动态获取的;它所用的技术就是ajax技术;它的原理就是在生成纯静态html文件的模版文件中,使用ajax技术来动态的获取并更新需要动态的部分;这样,在生成的纯静态的html文件中就包括了动态数据的部分,而这个文件就是局部静态化的html文件;

2015-06-30 14:56:30 957

原创 php页面静态化—触发系统生成纯静态化页面的三种方式

触发系统生成纯静态化页面的三种方式:一、页面添加缓存时间;二、手动触发方式;三、crontab定时扫描程序;

2015-06-29 00:04:35 1967

原创 php页面静态化—实现页面纯静态化的原理

php实现页面纯静态化的最终目的就是生成纯html文件,而这个纯html文件就存放在服务器的磁盘当中;php实现页面纯静态化需要的东西:1、文件写入函数file_put_contents()、或者fopen()、fwrite()、fclose()等函数;2、缓冲区(缓存)操作函数ob函数(ob_start()、ob_get_contents()、ob_clear()、ob_ge

2015-06-28 18:51:45 5531

原创 php页面静态化—buffer

buffer 其实就是缓冲区,一个内存地址空间,主要用于存储数据区域;我们拿操作系统的buffer来举一个例子:当我们新建了一个文件,然后在文件中输入一些数据,然后点击保存的时候,我们看到的是这些数据全部保存到了新建文件对应的磁盘中,但是这些数据不是直接就保存到磁盘中的,而是经过了buffer这个中间过程。当我们点击保存的时候,这些数据首先保存在了buffer中,当buffer被这

2015-06-28 13:49:46 407

原创 php页面静态化—静态化详细介绍

php静态包括:一、纯静态纯静态是指使用php生成纯html文件,然后前端访问这个html文件的过程;如果细分纯静态,那么可以分为“局部纯静态”、“全部纯静态”;“全部纯静态”指完全静态的html文件;“局部纯静态”即局部动态化,指静态的文件中部分内容为动态内容(通过ajax来实现局部动态);二、伪静态;伪静态是指将动态页面的url地址转换成类似于静态页面的url地址的

2015-06-28 01:07:21 583

原创 php页面静态化—优化页面响应时间

如:动态页面静态化、优化数据库、使用负载均衡、使用缓存等。如果页面中的一些内容不经常改动(几个小时、几天或更久不做改动),这个时候将动态页面静态化是非常有效的加速方法;比如:新闻发布系统、文章发布系统等;动态页面静态化的好处:1、减少服务器脚本的计算时间;2、降低服务器的响应时间,减少服务器的压力;比如当我们去执行一个php文件时,一般要经过“语法分析”、“编译”、“运行”

2015-06-28 00:40:24 1073

原创 php页面静态化—动态页面和静态页面

动态页面:页面中的数据需要从文件或数据库动态获取的页面;比如请求一个php文件所生成的页面;当请求一个php文件时,php文件会经过3个执行阶段,语法分析、编译、运行。所以说这类型的页面也属于动态页面;静态文件:纯html文件所生成的页面;当请求一个html文件时,html文件不会经过语法分析、编译,它会直接运行。所以说这类型的页面属于静态页面;从上面的描述可以

2015-06-27 22:53:09 1175

原创 php正则表达式—仿smarty

/**类名为Smarty是自定义的模板引擎通过该类对象加载模板文件并解析,将解析后的结果输出 */class Smarty {public $template_dir = 'templates';       //定义模板文件存放的目录  public $compile_dir = 'templates_c';      //定义通过模板引擎组合后文件存放目录publi

2015-06-27 00:39:23 578

原创 php正则表达式—贪婪模式(.*或.+)与懒惰模式(.*?或.+?)的应用

.表示除\n之外的任意字符;*表示匹配0-无穷;+表示匹配1-无穷;.* — 表示匹配0个或多个处换行符以外的字符;.+ — 表示匹配1个或多个处换行符以外的字符;后边没有?时表示贪婪模式(非懒惰模式);后边多一个?表示懒惰模式;?必须跟在*或者+后边用;如:如果用正则匹配src中内容非懒惰模式匹配src=".*"匹配结果是:src="test.jpg" width="

2015-06-25 01:17:26 2392

原创 php正则表达式—子模式的应用

在php的正则表达式的语法中,我们曾经学习过“模式单元”;在php的正则表达式中模式单元分为两类,即:总模式和子模式;总模式—整个正则表达式的整体就是一个总模式;子模式—整个正则表达式中用括号包起来的部分就叫做子模式;如下:^https?://(\w+)\.(\w+)\.com$整个正则表达式就是一个总模式;而用颜色标记的部分就是子模式;有时候我们使用正则表达式进行匹配

2015-06-22 17:44:50 1194

原创 php正则表达式—工具类的开发

class regexTool{private $validate = array('require'       =>   '/.+/','email'         =>   '/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/','url'           =>   '/^((http|https|ftp):\/\/)?(

2015-06-20 11:23:28 506

原创 php正则表达式—实战

'.+' —— 表示匹配非空;'\d+\.\d{2}' —— 表示匹配结尾是两位小数的浮点数;'1(3|4|5|7|8)\d{9}' —— 表示匹配中国大陆的手机号码;'^\w+(\.\w+)*@\w+(\.\w+)+$' —— 表示匹配一个email地址;'^(https?://)?(\w+\.)+[a-zA-Z]+$' —— 表示匹配一个url地址,如:http://www.b

2015-06-10 18:04:19 378

原创 php正则表达式—修正模式

“修正模式”是给正则表达式的匹配过程指定一种匹配模式,类似于手机的模式(家庭模式、会议模式等): 包含以下这些: “贪婪匹配”—— 指的是当匹配结果出现歧义(出现多种结果)的时候,它会选择结果最长的那个结果; “懒惰匹配(U)”—— 指的是当匹配结果出现歧义(出现多种结果)的时候,它会选择结果最短的那个结果; “i”—— 忽略正则表达式中英文字母的大小写; “x”—— 忽略正则表达式中的空

2015-06-10 17:52:58 534

原创 php正则表达式—基本语法

正则表达式的语法要点有: 界定符 ( 表示正则表达式开始和结束的位置,如/[0-9]/或#[0-9]#或{[0-9]}中的’/’、’#’、’{}’,但是由于’{}’即是正则表达式的界定符 也是正则表达式的运算符,所以不建议使用’{}’作为正则表达式的界定符,以免发生歧义。 不同的语言由于编译器或者解释器的不同,所以界定符可能会有所不同。 ) 原子 (

2015-06-10 01:01:01 375

原创 php正则表达式—对于文字匹配的建议

由于不同种类的语言的文字的编码可能不同。如英文字符有ascII编码,中文汉字有unicode 、utf8、utf16等编码一样。 我们在写代码的时候也会讲究使用某种编码,所以如果我们在写正则表达式的时候直接写入汉字,就有可能由于编码问题而产生某些未知的错误; 所以,为了避免错误,笔者建议,但凡是涉及到文字的匹配的时候,建议将文字先转换成unicode编码之后再写到正则表达式中,这样就可以避免一些

2015-06-08 01:34:40 465

原创 php模版引擎(smarty3)—优化(定界符,避免和其他语言的冲突)

在smarty3的模版变量中,如{$var},默认{$val}的两边是不能出现空格的,即{  $val  }。如果出现空格会报错,但在smarty2中则允许出现空格。这样就很容易跟页面嵌入的其他的语言发生冲突,如页面中的:body{margin:0;padidng:0;}p{  color:#000; font-size:14px;  }input{width:200p

2015-06-07 18:30:05 1543

原创 php模版引擎(smarty3)—优化(选择注释)

在smarty3中模版的注释有两种:第一种是:如果你的smarty3定界符是{},则可以使用{*被注释的内容*}来注释;第二种是:一般的html的注释,即;虽然说这两种方法都可以达到注释的目的,但是他们是有很大区别的:首页smarty3是一种编译型的模版引擎,如果使用smarty3的{*被注释的内容*}这种注释,则在编译并输出到页面后,{*被注释的内容*}是不被输出的,

2015-06-07 18:19:00 494

原创 php跨平台—绝对路径(获取绝对路径、定义常量、使用常量引入文件示例)

一般为了使我们所开发的php程序能够跨平台或者在所有文件中都可以引入初始化文件(初始化文件中可能会引入某些公共的文件),那么我们在程序中使用的路径就必须为绝对路径。php获取绝对路径、定义常量、使用常量引入文件示例需要以下内容:1. __FILE____FILE__ :被称为PHP魔术常量 ,返回当前执行PHP脚本的完整路径和文件名,包含一个绝对路径

2015-06-07 17:08:30 5737

原创 php函数—preg_quote()转义正则表达式字符

(PHP 4, PHP 5)preg_quote — 转义正则表达式字符string preg_quote ( string $str [, string $delimiter = NULL ] )preg_quote()需要参数 str 并向其中 每个正则表达式语法中的字符前增加一个反斜线。 这通常用于你有一些运行时字符串 需要作为正则表达式进行匹配的

2015-06-06 11:07:40 761

原创 php模版引擎(smarty3)—display()渲染文本字符串

$smarty=$this->smarty;$smarty->assign('foo','value');$template_string = 'display {$foo} here';// 第一种方式// compiles for later reuse$smarty->display('string:'.$template_string); // 第二种方式// compiles every time$smarty->display('eval:'.$template_string

2015-06-05 17:29:07 1148 1

原创 php面向对象(OOP)—spl_autoload_register()注册自定义的自动加载函数

spl_autoload_register(PHP 5 >= 5.1.2)spl_autoload_register — 注册__autoload()函数说明bool spl_autoload_register ([ callback $autoload_function ] )将函数注册到SPL __autoload函数栈中。如果该栈中的函数尚未激活,则激

2015-06-05 16:24:36 1542

原创 php面向对象(OOP)—__autoload()函数

很多开发者写面向对象的应用程序时,对每个类的定义建立一个 PHP 源文件。一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件的列表。在软件开发的系统中,不可能把所有的类都写在一个PHP文件中,当在一个PHP文件中需要调用另一个文件中声明的类时,就需要通过include把 这个文件引入。不过有的时候,在文件众多的项目中,要一一将所需类的文件都include进来,是一个

2015-06-05 15:52:37 430

原创 php面向对象(OOP)—序列化(串行化)与反序列化之serialize(),unserialize,__sleep(),__wakeup()

有时候需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,再还原为原来的对象,这个过程称之为串行化(也叫序列化), 就像我们现在想把一辆汽车通过轮船运到美国去,因为汽车的体积比较大,我们可以把汽车拆开成小的部件,然后我们把这些部件通过轮般运到美国去,到了美国再把这些部件组装回汽车。有两种情况我们必须把对象串行化,第一种情况就是把一个对象在网络中传输的时候

2015-06-05 15:26:21 1048

原创 php面向对象(OOP)—多态

多态是除封装和继承之外的另一个面象对象的三大特性之一,我个人看来PHP中虽然可以实现多态,但和c++还有Java这些面向对象的语言相比,多 态性并不是那么突出,因为PHP本身就是一种弱类型的语言,不存在父类对象转化为子类对象或者是子类对象转化为父类对象的问题,所以多态的应用并不是那么的明显;所谓多态性是指一段程序能够处理多种类型对象的能力,比如说在公司上班,每个月财务发放工资,同一个发工资的方法,

2015-06-05 15:00:39 5740

原创 php面向对象(OOP)—接口(interface)

PHP与大多数面向对象编程语言一样,不支持多重继承。也就是说每个类只能继承一个父类。为了解决这个问题,PHP引入了接口,接口的思想是指定了一个实现了该接口的类必须实现的一系列方法。接口是一种特殊的抽象类,抽象类又是一种特殊的类,所以接口也是一种特殊的类,为 什么说接口是一种特殊的抽象类呢?如果一个抽象类里面的所有的方法都是抽象方法,那么我们就换一种声明方法使用“接口”;也就是说接口里面所有的方法必

2015-06-05 14:51:27 1430

原创 php面向对象(OOP)—抽象方法和抽象类

在OOP语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法做为外部代码访问其的接口。而抽象方法就是为了方便继承而引入的,我们先来看一下抽象类和抽象方法的定义再说明它的用途。什么是抽象方法?我们在类里面定义的没有方法体的方法就是抽象方法,所谓的没有方法体指的是,在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键字

2015-06-05 14:46:57 534

原创 php面向对象(OOP)—__call()处理调用错误

在程序开发中,如果在使用对象调用对象内部方法时候,调用的这个方法不存在那么程序就会出错,然后程序退出不能继续执行。那么可不可以在程序调用对象内部 不存在的方法时,提示我们调用的方法及使用的参数不存在,但程序还可以继续执行,这个时候我们就要使用在调用不存在的方法时自动调用的方 法“__call()”。//这是一个测试的类,里面没有属性和方法class Test{}//产生

2015-06-04 20:29:10 433

原创 php面向对象(OOP)—__toString()和__clone()

我们前面说过在类里面声明“__”开始的方法名的方法(PHP给我们提供的),都是在某一时刻不同情况下自动调用执行的方 法,“__toString()”方法也是一样自动被调用的,是在直接输出对象引用时自动调用的, 前面我们讲过对象引用是一个指针,比如 说:“$p=new Person()“中,$p就是一个引用,我们不能使用echo 直接输出$p,这样会输 出“Catchable fatal err

2015-06-04 20:14:05 406

原创 php面向对象(OOP)—static和const

static关键字是在类中描述成员属性和成员方法是静态的;静态的成员好处在哪里呢?前面我们声明了“Person”的人类,在“Person”这个类里如果我们加上一个“人所属国家”的属性,这样用“Person”这个类实例化出几百个或者更多个实例对象,每个对象里面就都有“所属国家”的属性了,如果开发的项目就是为中国人而开发的,那么每个对象里面就都有一个国家的属性是 “中国“其它的属性是不同的,如果我们把

2015-06-04 19:54:40 503

原创 php面向对象(OOP)—final关键字

这个关键字只能用来定义类和定义方法, 不能使用final这个关键字来定义成员属性,因为final是常量的意思,我们在PHP里定义常量使用的是define()函数,所以不能使用final来定义成员属性。使用final关键标记的类不能被继承;final class Person{function say() {}}class Student extends Pers

2015-06-03 18:22:01 691

原创 php面向对象(OOP)—访问修饰符

PHP5支持如下3种访问修饰符:public (公有的、默认的),protected (受保护的)和private (私有的)三种。public 公有修饰符,类中的成员将没有访问限制,所有的外部成员都可以访问(读和写)这个类成员(包括成员属性和成员方法),在PHP5之前的所有版本中,PHP 中类的成员都是public的,而且在PHP5中如果类的成员没有指定成员访问修饰符,将被视为p

2015-06-03 18:01:41 796

原创 php面向对象(OOP)—方法重写(override)

因为PHP是弱类型的语言, 所以在方法的参数中本身就可以接收不同类型的数据,又因为PHP的方法可以接收不定个数的参数,所以通过传递不同个数的参数调用不相同方法名的不同方法也是不成立的,所以php是不能重载的。虽然说在PHP里面不能定义同名的方法, 但是在父子关系的两个类中,我们可以在子类中定义和父类同名的方法,这样就把父类中继承过来的方法覆盖掉了(重写父类方法)。class P

2015-06-03 17:17:51 6251

原创 php面向对象(OOP)—类的继承

通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类以及超类。由已存在的类派生出的新类称为派生类,又称为子类。在PHP里面没有多继承,只有单继承,也就是说,一个类只能直接从一个类中继承数据, 这就是我们所说的单继承;//定义一个“人”类做为父类class

2015-06-03 16:44:33 544

原创 php面向对象(OOP)—__set(),__get(),__isset(),__unset()

一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是, 对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数”__get()”和”__set()”来获取和赋值其属性,以及检查属性的”__isset()”和删除属性的方法”__unset()”。__get()方法:这个方法用来获取私有成员属性值的,有一个参数, 参数传入你要获取的成员属性的名称,返回获取

2015-06-03 16:36:21 406

原创 php面向对象(OOP)—封装性

封装性是面象对象编程中的三大特性之一,封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:1. 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。2. 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。封装的原则在软件上的反映是:要求使对

2015-06-03 15:30:51 1315

原创 php面向对象(OOP)—不同php版本构造方法的继承和兼容

PHP4.x 版本:PHP 4.x 的构造函数名与类名相同。子类的构造函数名与子类名相同(废话)。在子类里父类的构造函数不会自动执行。要在子类里执行父类的构造函数,必须执行类似以下语句:$this->[父类的构造函数名()]class base1 {function base1() {echo 'this is base1 constru

2015-06-03 15:07:29 676

原创 php面向对象(OOP)—构造方法与析构方法

大多数类都有一种称为构造函数的特殊方法。当创建一个对象时,它将自动调用构造函数,也就是使用new这个关键字来实例化对象的时候自动调用构造方法。构 造函数的声明与其它操作的声明一样,只是其名称必须是__construct( )。这是PHP5中的变化,以前的版本中,构造函数的名称必须与类名相同,这种在PHP5中仍然可以用,但现在以经很少有人用了,这样做的好处是可以使构 造函数独立于类名,当类名发生改变

2015-06-03 14:56:59 478

原创 php面向对象(OOP)—调用成员和方法

class Person{//下面是人的成员属性var $name; //人的名子var $sex; //人的性别var $age; //人的年龄//下面是人的成员方法function say() { //这个人可以说话的方法echo "我的名子叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $th

2015-06-03 14:46:40 3134

原创 php面向对象(OOP)—实例化对象

$对象名称 = new  类名称();class Person{    //下面是人的成员属性    var $name; //人的名子    var $sex; //人的性别    var $age; //人的年龄    //下面是人的成员方法    function say() { //这个人可以说话的方法        echo "

2015-06-03 13:19:44 620

用于rgb和十六进制之间的颜色值的转换

用于十六进制和rgb颜色值之间的转换(可以互相转换),非常好用。 是一个网友的杰作

2013-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除