PHP 的引用计数基础知识
一个php变量存储在一个叫做zval 的地方,一个zval 结构包含了什么呢,包含了变量的类型和值,和两个附加信位元信息,第一个位叫做is_ref, 它是个布尔值,它标识了这个变量是不是个引用类型,通过这个位元,PHP引擎了解了这个变量是普通类型的变量还是引用类型的变量。因为ph...
PHP 正则表达式 轻松验证IPV6
IPV6的时代快要到来了,发一个验证IPV6地址是否合法的正则。 ?php // literally from the ABNF in rfc3986 (thanks to 'WCP') function validateIPv6($IP) { return preg_match('/\A (?: (?: (?:[a-f0-9]{1,4}:){6} | ::(?:[a-f0-9]{1,4}:){5} | (?:[a-f0-9]{1,4})?::(?:[a-...
Linux-Apache-MySQL-PHP网站架构方案分析
LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相...
PHP调用MySQL的存储过程
MySQL好像从5.0开始才引入存储过程,反正以前做应用的时候从没碰过,不过现在因为主要作内部系统,所以很多应用都用到了存储过程,当然前台有时候也需要调用MySQL存储过程,PHP的MySQL Lib好像支持的不是很好,不过我搜索了些资料,虽然不多,但是还是尝试的使用了,现在介...
PHP获取汉字unicode码的通用函数
把一个汉字转为unicode的通用函数,不依赖任何库,和别的自定义函数,但有条件:本文件以及函数的输入参数应该用utf-8编码,不然要加函数转换。 ? /** * 把一个汉字转为unicode的通用函数,不依赖任何库,和别的自定义函数,但有条件 * 条件:本文件以及函数的输入参数应该...
PHP常用函数:过滤HTML字符串
?php /******************************************************************** * 原文件名:Filter1.php * 文件说明:过滤HTML字符串 * 文件编写:[email protected] * 流程说明: * 当附合要求的参数传递进filter函数后,filter()函数首先 * 把要字串中所有要过滤的标签$t...
PHP取得用户浏览器和系统函数
//操作系统 function userOS(){ $user_OSagent = $_SERVER['HTTP_USER_AGENT']; if(strpos($user_OSagent,NT 5.1)) { $visitor_os =Windows XP (SP2); } elseif(strpos($user_OSagent,NT 5.2) strpos($user_OSagent,WOW64)){ $visitor_os =Windows XP 64-bit Edition; } els...
php绝对路径与相对路径之间关系的的深入研究
php中好像不能像asp那样用/表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层。./表示当前层。假如现在a/b/c/s.php要调用根目录下的 /bb/s2.txt,则: $RootDir = $_SERVER['DOCUMENT_ROOT']; $fireDir = $RootDir/bb/s2.txt; 或者:../../../bb/s...
为什么要使用PHP单例模式及应用实例
首先我们要知道明确单例模式这个概念,那么什么是单例模式呢? 单例模式顾名思义,就是只有一个实例。 作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例, 这个类我们称之为单例类。 单例模式的要点有三个: 一是某个类只能...
PHP Web开发中常用的三个表单验证函数
ISSET();适合于检测是否存在这个参数。 定义和作用范围:用于测试一个变量是否具有值(包括0,FALSE,或者一个空字串,但不能是NULL),即:http://localhost/?fo=也是可以通过检测,因此不适用。但如果是http://localhost/参数中并不含fo参数,就可以用isset来检测,此时is...
PHP的strtok()函数的优点详解
相对于explode()来说,strtok()函数可以控制节奏。按需切割字串。其优点是: 1、可以一次定义多个分隔符。函数在执行时,是按单个分隔符来切割,而不是按整个分隔符,而explode则是按整个分隔串来切割的。正因此,explode可以用中文切割,而strtok则不行,会乱码。 2、在使...
is_file()和is_dir()用于遍历目录时用法注意事项
任务:遍历一个目录并区分显示其中的文件和子目录文件夹: 1、目录inc有以下内容: 子目录 0 子目录 a footer.html header.html login_function.inc.php mysqli_connect.php style.css 2、现在PHP要遍历inc目录,并只显示文件,不显示目录0和a,代码如下: $dir = $_SERVER[...