中山php|最优网络中山做网站 中山php建站

最优良人

Posts Tagged With: php

PHP使用PDO进行跨数据库操作

2011/08/15 at 00:58 » Comments (25)

PDO(PHP Data Object) 是PHP 5新出来的东西,在PHP 6都要出来的时候,PHP 6只默认使用PDO来处理数据库,将把所有的数据库扩展移到了PECL。 为了掌握 PDO,需要了解 5 个关键概念。这 5 个概念是:    连接和连接管理 事务和自动提交 预处理语句和存储过程 错误和错误处理 特定于驱动程序的功能性,包括 滚动游标 和 大型对象 以下是一些简单的例子 /* * PDO::query() 主要是用于有记录结果返回的操作,特别是SELECT操作 PDO::exec() 主要是针对没有结果集合返回的操作,如INSERT、UPDATE等操作 PDO::lastInsertId() 返回上次插入操作,主键列类型是自增的最后的自增ID PDOStatement::fetch() 是用来获取一条记录 ...more »

php关于session使用中需要注意的地方

2011/08/14 at 01:36 » Comments (216)

1,session的注销 清除session变量所有的值,应该使用$_SESSION=array(); 而不是$_SESSION=null或者unset($_SESSION); 需要销毁session节省开销的时候,可以使用session_unset() ,session_destroy()。两者的区别: session_unset() 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id session_destroy() 删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留 彻底销毁session正确的顺序是 session_unset(); session_destroy(); 2,$_SESSION[$key],session的键值$key必须符合php变量的定义规则,即不能以数字或特殊符合开头。 more »

PHP设置页面编码的两种方法

2011/08/13 at 18:06 » Comments (194)

php输出页面时,设置页面的编码有两种方式 1:输出meta标签: echo '<META http-equiv="content-type" content="text/html; charset=utf-8">'; 2:使用header函数 header("content-type:text/html; charset=utf-8"); more »

php字符串首字母转换大小写

2011/08/13 at 18:04 » Comments (19)

首字母变大写:ucwords() <?php $foo = 'hello world!'; $foo = ucwords($foo); // Hello World! $bar = 'HELLO WORLD!'; $bar = ucwords($bar); ...more »

PHP显示客户端IP与服务器IP

2011/08/07 at 02:10 » Comments (433)

打印客户端IP:echo $_SERVER['REMOTE_ADDR']; 或者: getenv('REMOTE_ADDR'); 当时当客户端使用代理访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。所以比较准确的获取客户ip的方法是: function getip(){ if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ ...more »

PHP static静态变量

2011/08/07 at 02:07 » Comments (330)

什么是static静态变量? 静态变量 类型说明符是static。 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整个程序运行结束(相反,而auto自动变量,即动态局部变量,属于动态存储类别,占动态存储空间,函数调用结束后即释放)。静态变量虽在程序的整个执行过程中始终存在,但是在它作用域之外不能使用。 另外,属于静态存储方式的量不一定就是静态变量。 例如:外部变量(在PHP中指全局变量)虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。 所有的全局变量都是静态变量,而局部变量只有定义时加上类型修饰符static,才为局部静态变量。 静态变量可以在任何可以申请的地方申请,一旦申请成功后,它将不再接受其他的同样申请。 静态变量并不是说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。 一、静态局部变量: 1、Static类内部变量同auto自动变量(即未加 Static 声明的局部变量)一样,是某个特定函数的局部变量,即只能在定义该变量的函数内使用该变量,2者作用域相同;两者的不同在于:auto自动变量会随着函数被调用和退出而存在和消失,而static类局部变量不会,它不管其所在的函数是否被调用,都将一直存在;不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值。换言之,Static类型的内部变量是一种只能在某个特定函数中使用,但一直占据存储空间的变量。 2、函数体内如果在定义静态变量的同时进行了初始化,则以后程序不再进行初始化操作(出现在函数内部的基本类型的的静态变量初始化语句只有在第一次调用才执行)。而对自动变量赋初值是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。 3、静态局部变量的初始化表达式必须是一个常量或者常量表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。而对自动变量auto来说,如果不赋初值则它的值将是个不确定的值。 4、当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。 注:局部静态变量占用内存时间较长,并且可读性差,因此,除非必要,尽量避免使用局部静态变量。 二、静态全局变量 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。 全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。 这两者的区别虽在于: 1、非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 2、静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。 从以上分析可以看出———— 把局部变量改变为静态变量后是改变了它的存储方式,即改变了它的生存期。 把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。static静态变量会被放在程序的全局存储区中(即在程序的全局数据区,而不是在堆栈中分配,所以不会导致堆栈溢出),这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 三应用于PHP中 //--------------如何理解static静态变量-----------。 //普通局部变量 function local(){ $loc = 0; //这样,如果直接不给初值0是错误的。 ++$loc; echo $loc.'<br>'; } local(); //1 local(); //1 local(); //1 echo '===================================<br/>'; //static静态局部变量 function static_local(){ static $local = 0 ; //此处可以不赋0值 $local++; echo ...more »

php过滤敏感字符的一些相关函数--魔法函数应用

2011/08/07 at 02:01 » Comments (345)

一,首先,先来看一下php.ini的两个配置参数 magic_quotes_gpc "1" PHP_INI_PERDIR PHP_INI_ALL in PHP more »