• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

php常用函数总结

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

第1章 常用还是
1.1 特许用法
1.1.1 DIRECTORY_SEPARATOR=/;
1.1.2 错误提示: throw new Exception('Division by zero.');
1.1.3 $var="SELECT * FROM `{$pre}group` ORDER BY gptype DESC,levelnum ASC" :{$pre}是变量,与$pregroup区分开来
1.1.4 $_SERVER['HTTP_X_REQUESTED_WITH'] 判断ajax请求.实际上是在向服务器发送异步请求之前,向header中加入一条header信息。HttpRequest 对象.setRequestHeader("X_REQUESTED_WITH","任意字符串");服务器端通 过$_SERVER['HTTP_X_REQUESTED_WITH']这个变量是否存在,或具体的值来判断是否是ajax请求或具体是哪一条ajax请 求. 所以利用这个不但可以验证请求是否是ajax请求,还可以获取更多的信息.
1.1.5 json_encode和json_decode 对数组或对象进行json的编码和解码
1.1.6 <META http-equiv="content-type" content="text/html; charset=xxx">:告诉游览器用什么编码游览与header("Content-type: text/html; charset=gb2312");
1.1.7 static: static关键字用来修饰属性、方法,称这些属性、方法为静态属性、静态方法。
1.1.8 public,protected,private:类修饰符
1.1.9 set_exception_handler()设置顶层异常处理器 try{}catch(Exception $e){}
1.1.10 call_user_func(array("a", "b"), "111")和call_user_func_array() ;call_user_func(array("a", "b"), "111")调用class a中方法名为b的函数
1.1.11 魔术方法__clone(),__call(),__autoload() __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state() and __clone() 可以动态添加对象属性
1.1.12 json_decode,simplexml_load_string()函数把 XML 字符串载入对象中。
1.1.13 func_num_args 传了可变参数
1.1.14 decode64,base64_encode
1.1.15 onfocus="this.blur()" 去掉链接的虚框的
1.1.16 php路径问题:set_include_path(get_include_path(). PATH_SEPARATOR . ROOT_PATH);设置include_path的路径的;2、src="/theme/js/jquery.js"相当于src=$_SERVER["DOCUMENT_ROOT"]+"/theme/js/jquery.js";
1.1.17 ReflectionMethod\ReflectionFunction 反射函数,可以判断类中函数是否存在,ReflectionFunction可以直接条用类中的public方法
1.1.18 页面的缓存<IfModule mod_expires.c>ExpiresActive OnExpiresDefault "access plus 1 days"</IfModule>
1.1.19 unserialize和serialize一定要注意编码问题,编码不一同时:每个中文字符长度就不一样。最大的可能就是在序列化数据的时候的编码和反序列化时的编码不一样导致字符串的长度出现偏差。例如数据库编码latin1和UTF-8字符长度是不一样的。自己用php来纠正序列化字符串中字符串长度的问题,链接<?php$unserialized = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $unserialized );?>另外一个网友提出一个在非utf-8情况下的BUG,链接# ascii字符 "\0" 被解析成了 '\0' (\0在C中是字符串的结束符等于chr(0),错误解析后算了2个字符)// 这么写会出问题$error = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $unserialized );// 这么写就没事$works = preg_replace('!s:(\d+):"(.*?)";!se', '"s:".strlen("$2").":\"$2\";"', $unserialized );// 根据上面的情况我写出的测试例子(注意代码必须用asc格式保存运行)$test = 's:7:"hahaha'. chr(0) .'";';echo preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $test );echo '<br>';echo preg_replace('!s:(\d+):"(.*?)";!se', '"s:".strlen("$2").":\"$2\";"', $test );echo '<br>';echo unserialize(preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $test ));echo '<br>';echo unserialize(preg_replace('!s:(\d+):"(.*?)";!se', '"s:".strlen("$2").":\"$2\";"', $test ));
1.1.20 filemtime获取文件的生成时间 date('U', filemtime($filename))
1.1.21 if、for 语块格式:<?php if(isset( $response['goods_list'] ) && !empty( $response['goods_list'] ) ): ?><?php $i=1;foreach($response['goods_list'] as $v):?><?php endforeach; endif; ?>
1.1.22 for语法格式:if(!empty($rows)) foreach ($rows as $v){}else{}
1.1.22 if简单使用语法 if($obj instanceof IRequestFilter) if($obj->handle_before($request,$response,$app)===true) break;
1.1.23 php方法参数类型(可以是数组,类),
1.1.24 memcache(内存缓存)、pdo(pdo数据库的统一接口)、APC(系统优化器)、Mcrypt(加密解密)、Mhash(加密解密)、SOAP(SOAP扩展可以用来提供和使用Web services)
1.1.25 memcache的windows下安装:
1.1.26 本地域名解析:windows/system32/drives/etc/hosts文件中加192.168.154.56 hyj.com
1.1.27 复制文件时,前面的空格要注意(可能是编码问题),会影响程序运行的
1.1.28 UTF-8中文编码的BOM标记问题
1.1.29 调用类方法外类中的变量:$this->$name;调用方法外变量(不是在类中),global $name(先设置全局变量,然后再调用);类方法要调用类外的变量,也是要先设置为全局变量,然后调用
1.1.30 类中可以直接调用类外面的函数;调用类中的函数,则用$this->functionName
1.1.31 游览器会自动过滤掉一些无用字符。 &虽然打印出来是&,可是查看代码是&amp,经过htmlspecialchars把预定义的字符转换为 HTML 实体(& (和号) 成为 &amp;),虽然现实&可源代码是&amp,所以要进经过htmlspecialchars_decode 反编
1.1.32 接口传值的方法:1、把值返回的接口页面,并用get_content_url获取其内容,或接口页面中有隐藏form,运行后自动提交给返回页面,通过post(get也行,但传值数量受限制)获取其值;3、接口页面用return返回值不行
1.1.33 setcookie("QNAME","VALUE",time()+3600,'/');官网上一定要加path才能生效
1.1.34 php中字符传(string类型)输出时是经过特殊字符处理的,而input中的现实的,就是字符
1.1.35 unterminated string literal,js中的php语句写错了会出现这问题,判断变量是否为空是,先要判断变量是否存在
1.1.36 @iconv( "GBK", "UTF-8//IGNORE", $str ) ;iconv在转换字符"—"到gb2312时会出错 解决方法很简单,就是在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后
1.1.37 文件编码是gb2312,则里面的个字符都是gb2312的编码。如果用游览器查看是utf8的话,则是吧gb2312当utf8翻译,那肯定乱码
1.1.38 cookie问题:setCookie("lastime",$selsetcookie("USERID","$USERID",0,"/","")设置为浏览器进程的话,直接将过期时间设置为0即可,关掉游览器就会消失的;cookie要刷新页面才能显示(session不是)。要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。;在/a/b/a.php中setcookie后,/a/c/b.php中不能访问;在同一个页面中设置cookie,实际上是按从后往前的顺序进行的.如果要先删除一个cookie,再写入一个cookie,则必须先写写入语句,再写删除语句.否则会出现错误. 四: cookie的一些特点 cookie是面向路径的.缺省path属性时,WEB服务器页会自动传递当前路径给浏览器.指定路径会强制服务器使用设置的路径. 在一个目录页面里设的cookie在另一个目录的页面里是看不到的. 五: 接收和处理cookie PHP对cookie的处理是全自动的,和处理FORM变量的原则一样.当然也可以使用PHP全局变量,$HTTP_COOKIE_VARS数组. 例: echo $mycookie; echo $cookie Array[0]; echo count($cookie Array); echo $HTTP_COOKIE_VARS["mycookie"]; 六: 删除cookie (1)调用只带有name参数的setcookie(); (2)使失效时间为time()或time-1; 七: 使用cookie的限制 (1) 必须在HTML文件的内容输出之前设置; (2)不同的浏览器对cookie的处理不一致,使用时一定要考虑; (3)客户端的限制,比如用户设置禁止cookie,则cookie不能建立;
setcookie() 删除例子:(1)setcookie("TestCookie", "", time() - 3600);// 将过期时间设为一小时前(2)调用只带有name参数的setcookie(); (2)使失效时间为time()或time-1; SetCookie函数里表示value的部分,在传递时会自动被encode;
如果要设置同名的多个Cookie,要用数组,方法是:SetCookie("CookieArray[]", "Value 1");SetCookie("CookieArray[]", "Value 2");或SetCookie("CookieArray[0]", "Value 1");SetCookie("CookieArray[1]", "Value 2");
1.1.39 session问题:
1.1.40 var_export(输出或返回一个变量的字符串表示) 在将某个数组写入文件时,很好用
1.1.41 302、301跳转不是在收到response header的时候马上进行,也就是说页面的剩余内容会被下载来之后浏览器才会跳转。新手常犯的一个错误是,在逻辑判断时对符合条件的情况进行header跳转之后,忘了在之后加上exit(),导致错误。301重定向和302重定向在SEO以及缓存上是有非常大区别的
1.1.42 php字符中可以使用{}中放变量
1.1.43 http_build_query(自动加码)、parse_str(自动解码)、post(自动加码)()注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。
1.1.44 <pre></pre>保持原来状态
1.1.45 iframe就相当于游览器
1.1.46 php的引用(就是在变量或者函数、对象等前面加上&符号)1、变量的引用PHP 的引用允许你用两个变量来指向同一个内容。2、函数的引用传递(传址调用)要注意的是,不能函数中直接传值,而是传变量。3、函数的引用返回。4.对象的引用。5.引用的作用如果程序比较大,引用同一个对象的变量比较多,并且希望用完该对象后手工清除它,个人建议用 "&" 方式,然后用$var=null的方式清除. 其它时候还是用php5的默认方式吧. 另外, php5中对于大数组的传递,建议用 "&" 方式, 毕竟节省内存空间使用。6.取消引用当你 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。例如:<?php$a = 1; $b =& $a; unset ($a);?> 不会 unset $b,只是 $a。
7.global 引用当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是说和这样做是相同的: <?php $var =& $GLOBALS["var"];?> 这意味着,例如,unset $var 不会 unset 全局变量。 如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。8.$this在一个对象的方法中,$this 永远是调用它的对象的引用。z注意:php中对于地址的指向(类似指针)功能不是由用户自己来实现的,是由Zend核心实现的,php中引用采用的是“写时拷贝”的原理,就是除非发生写操作,指向同一个地址的变量或者对象是不会被拷贝的。
1.1.47 500 Internal Server Error 原因:1、有重复函数
1.1.48 include和require区别:先当html编译的,后转换为php模式1、incluce在用到时加载,require在一开始就加载。2、include的文件中出错了,主程序继续往下执行,require的文件出错了,主程序也停了3、require()函数用给定文件的内容取代它本身,这一代替过程发生在PHP引擎编译代码期间,而不是在执行期间进行,它不象include()那样会首先进行计算。require()函数更多地用在静态元素中,而include()更多地用于动态元素中。与include_once()类似的是,require_once()将首先检查是否已经插入给定的代码,如果代码已经存在,就不再插入了。4、require()所包含的文件中不能包含控制结构,而且不能使用return这样的语句。在require()所包含的文件中使用return语句会产生处理错误。 不象include()语句,require()语句会无条件地读取它所包含的文件的内容,而不管这些语句是否执行。所以如果你想按照不同的条件包含不同的文件,就必须使用include()语句。当然,如果require()所在位置的语句不被执行,require()所包含的文件中的语句也不会被执行。
1.1.49 路径问题:相对路径和全路径,我对它们的定义是,相对路径指以.开头的路径,例如 ./a/a.php (相对当前目录) ../common.inc.php (相对上级目录), 全路径是以/开头或者windows下的C:/类似的盘符开头的路径,全路径不用任何参考路径就可以唯一确定文件的最终地址。 例如 /apache/wwwroot/site/a/a.php c:/wwwroot/site/a/a.php 除了相对路径和全路径之外的路径还有其他类型的路径吗? 还有。凡是不以.或者/开头、也不是windows下盘符:/开头的路径,例如a/a.php common.inc.php,这样的路径,就是第三种类型路径。开始以为这也是相对路径,但在php的include/require包含机制中,这种类型的路径跟以.开头的相对路径处理是完全不同的。 (require './a.php' 和 require 'a.php' 是不同的!)我们姑且叫这种路径为未确定路径
结论:如果包含路径为相对路径或者全路径,则不会到include_path中去查找该文件,也就是说不管php.ini中定义的include_path环境变量是多少,或者在程序中设置set_include_path(...)为多少。1. 相对路径: 相对路径需要一个参考目录才能确定文件的最终路径,在包含解析中,这个参考目录是程序执行入口文件所在目录,不管包含嵌套多少层。2. 全路径: 全路径的比较简单,不容易混淆出错。举一个简单例子 A中定义 require '/wwwroot/xxx.com/app/test/b.php'; //则在windows下B=c:/wwwroot/xxx.com/app/test/b.php (c:为服务器所在盘符),在linux下B=/wwwroot/xxx.com/app/test/b.php 3、 除相对路径和全路径之外的未确定路径 首先在逐一用include_path中定义的包含目录来拼接[未确定路径],找到存在的文件则包含成功退出,如果没有找到,则用写require语句的php文件所在目录来拼接[未确定路径]组成的全路径去查找该文件,如果文件存在则包含成功退出,否则表示包含文件不存在,出错。
1.1.50 dirname(__FILE__)计算出来的也是一个全路径形式的目录,但是要注意__FILE__是一个Magic constants,不管在什么时候都等于写这条语句的php文件所在的全路径,因此dirname(__FILE__)也总是指向写这条语句的php文件所在的全路径,跟这个文件是否被其他文件包含使用没有任何关系。
1.1.51 eturn、break和contiue是语言结构,就如同if语句之类的,但是exit却是个函数。1、作用:终止函数的执行和从函数中返回一个值。2、break和continue用在for,foreach,while,do..while 或者 switch 结构中。break 结束当前 for,foreach,while,do..while 或者 switch 结构的执行。break 可以接受一个可选的数字参数来决定跳出几重循环。continue 在循环结构用用来跳过本次循环中剩余的代码并开始执行本循环结构的下一次循环。
1.1.52 <<<定界符,字符串中不要加""的,另一种给字符串定界的方法使用定界符语法(“<<<”)。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
<?php $str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD; ?>
1.1.53 exit|return|break|continue区别:exit跳出程序,return终止函数的执行和从函数中返回一个值,break:continu用在for,foreach,while,do..while 或者 switch 结构中,break 结束当前 for,foreach,while,do..while 或者 switch 结构的执行,break可以接受一个可选的数字参数来决定跳出几重循环。continue 在循环结构用用来跳过本次循环中剩余的代码并开始执行本循环结构的下一次循环。注: 注意在 PHP 中 switch 语句被认为是作为 continue 目的的循环结构。continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。return、break和contiue是语言结构,就如同if语句之类的,但是exit却是个函数。
1.1.54 .htaccess存放位置,对当前文件夹和子文件夹有影响(控制权限),对母文件夹就没有作用了。例如url重写,.htaccess和index.php都在htdocs/test下(htdocs是root文件夹),重写规则是:RewriteRule ^index.html$ index.php,注:重写规则是作用于test和test子文件夹下的规则,不包括母文件夹,也就是说只对url中test后面的路径地址有影响,test前面的url路径不变,不受影响,所以直接写index.php就行了,不用包含test/index.html。而不是写成RewriteRule ^test/index.html$ test/index.php,所以重写规则路径只能是test文件夹下或子文件夹。子文件夹下的.htaccess取代母.htaccess
1.1.55 字符串中变量可以用{$var}表示 如:$he="hadfad{$var}fadfadf";
1.1.56 在类函数中print_r($this)则打印的是类中的属性。
1.1.57 页面的缓存<IfModule mod_expires.c>ExpiresActive OnExpiresDefault "access plus 1 days"</IfModule>
1.1.58 unserialize和serialize一定要注意编码问题,编码不一同时:每个中文字符长度就不一样。最大的可能就是在序列化数据的时候的编码和反序列化时的编码不一样导致字符串的
1.1.59 extract() 函数从数组中把变量导入到当前的符号表中。*
1.1.60 php变量问题,页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。================================PHP中的超全局变量从PHP 4.2.0 开始,register_globals 的默认值为 off,这样一来,以前的很多可以直接使用的变量,如 $PHP_SELF 或者你设定的SESSION变量都不能用 “$变量名”的形式访问了,这可能会给你带来很多不变,但却有助于安全性的提高。访问这些变量,你需要使用PHP 超全局变量,如下:
超全局变量(跨页面传值的):$_SERVER、$_GET、$_POST、$_COOKIE、$_SESSION、$_FILES、$_ENV;
Global变量的作用是定义全局变量,也只能在函数体内定义,变量值调用了外面的值,此值还可以被外界调用,在外面定义,里面也不能调用,没意义,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件,。总结:在函数体内定义的PHP Global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,如果想用的话,可以用define(常量名,常量值)

1.1.61 isset()和empty()的区别:两者都是测试变量用的,但是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示如果一个变量被赋空值,$foo=""或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。要注销一个变量,可以用 unset($foo)或者$foo=NULL
1.1.62 session跨域Session主要分两部分:  一个是Session数据,该数据默认情况下是存放在服务器的tmp文件下的,是以文件形式存在  另一个是标志着Session数据的Session Id,Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保 Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中,关闭浏览器后该 ID 自动注销,重新请求该页面后,重新注册一个 session ID。如果客户端没有禁用 Cookie,则 Cookie 在启动 Session 会话的时候扮演的是存储 Session ID 和 Session 生存期的角色。  两个不同的域名网站,想用同一个Session,就是牵扯到Session跨域问题!默认情况下,各个服务器会各自分别对同一个客户端产生 SESSIONID,如对于同一个用户浏览器,A 服务器产生的 SESSION ID 是 11111111111,而B 服务器生成的则是222222。另外,PHP 的 SESSION数据都是分别保存在本服务器的文件系统中。想要共享 SESSION 数据,那就必须实现两个目标:一个是各个服务器对同一个客户端产生的SESSION ID 必须相同,并且可通过同一个 COOKIE 进行传递,也就是说各个服务器必须可以读取同一个名为 PHPSESSID 的COOKIE;另一个是 SESSION 数据的存储方式/位置必须保证各个服务器都能够访问到。这两个目标简单地说就是多服务器(A、B服务器)共享客户端的 SESSION ID,同时还必须共享服务器端的 SESSION 数据。
有三种解决方法:  1.只要在php页面的最开始(要在任何输出之前,并且在session_start()之前)的地方进行以下设置  ini_set('session.cookie_path', '/');  ini_set('session.cookie_domain', '.mydomain.com');  ini_set('session.cookie_lifetime', '1800');2.在php.ini里设置  session.cookie_path = /  session.cookie_domain = .mydomain.com  session.cookie_lifetime = 1800 3.在php页面最开始的地方(条件同1)调用函数  session_set_cookie_params(1800 , '/', '.mydomain.com');  我的解决方法是在入口出添加如下代码:  ini_set('session.cookie_path', '/');  ini_set('session.cookie_domain', '.domain.com'); //注意domain.com换成你自己的域名  ini_set('session.cookie_lifetime', '1800');
1.1.63 自适应问题:要去掉<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
下图是运行结果:很显然chr(0) 变成了 \0
2.1 常用用法
2.1.1 重定向(连接到其他页面)
1、header("location:../test.php");
2、header(‘Refresh: 3; url=http://blog.iterse.com/’):延迟一段时间后重定向; 也可以使用HTML语法来实现延迟
3、<META HTTP-EQUIV="Refresh" CONTENT="0;URL=$url">
4、<script>window.location =$url;</script> href="javascript:void(0);"
5、<input type="button" onclick="" value="anniu" name="">
2.1.2 打开缓存的方法(header之前可以有html的)
1、修改php.ini打开缓存(output_buffering),将output_buffering=0修改成output_buffering=4096
2、在程序中使用缓存函数ob_start(),ob_end_flush() 等
第2章 Apache函数 15
2.1 Apache信息获取类函数 15
2.1.1 apache_child_terminate函数:在本次请求结束后终止Apache进程 15
2.1.2 apache_get_modules函数:获取Apache的模块列表 16
2.1.3 apache_get_version函数:获取Apache的版本 16
2.1.4 apache_getenv函数:获取Apache的环境变量 17
2.1.5 apache_lookup_uri函数:获取特定的URL有关信息 17
2.1.6 apache_note函数:获取或设置Apache请求记录 18
2.1.7 apache_request_headers函数:获取HTTP请求的标头 19
2.1.8 apache_response_headers函数:获取所有HTTP回应标头 19
2.1.9 getallheaders函数:获取所有HTTP变数值 20
2.2 Apache配置类函数 20
2.2.1 apache_reset_timeout函数:重设Apache写操作时间 21
2.2.2 apache_setenv函数:设置Apache的环境变量 21
2.2.3 virtual函数:执行Apache的子请求 22
2.3 Apache编码类函数 22
2.3.1 ascii2ebcdic函数:将ASCII码转换为EBCDIC码 22
2.3.2 ebcdic2ascii函数:将EBCDIC码转换为ASCII码 23
2.4 小结 23

第3章 ODBC函数 24
3.1 ODBC连接类函数 25
3.1.1 odbc_connect函数:打开一个ODBC连接 25
3.1.2 odbc_close函数:关闭一个已经打开的ODBC连接 26
3.1.3 odbc_close_all函数:关闭所有已经打开的ODBC连接 27
3.1.4 odbc_pconnect函数:打开一个持续有效的ODBC连接 27
3.2 ODBC操作类函数 28
3.2.1 odbc_commit函数:更新所有处于未决状态的操作 28
3.2.2 odbc_do函数:在打开的ODBC连接上执行SQL语句 29
3.2.3 odbc_exec函数:执行SQL语句 30
3.2.4 odbc_execute函数:执行一个预置的SQL语句 30
3.2.5 odbc_free_result函数:释放传回资料所占用的内存 31
3.2.6 odbc_prepare函数:预置SQL语句的执行 32
3.2.7 odbc_rollback函数:撤销所有处于未决状态的操作 32
3.3 ODBC信息获取类函数 33
3.3.1 odbc_columnprivileges函数:列出给定表的列和相关的权限 33
3.3.2 odbc_columns函数:列出指定表的列的名称 34
3.3.3 odbc_cursor函数:获取光标的名称 35
3.3.4 odbc_data_source函数:返回连接数据库的信息 35
3.3.5 odbc_error函数:获取最后的错误代码 36
3.3.6 odbc_errormsg函数:获取最后的错误信息 36
3.3.7 odbc_fetch_array函数:获取结果集数组 37
3.3.8 odbc_fetch_into函数:获取传回的指定列 38
3.3.9 odbc_fetch_object函数:返回结果集到对象 38
3.3.10 odbc_fetch_row函数:获取传回的一列 39
3.3.11 odbc_field_len函数:获取字段的长度 40
3.3.12 odbc_field_name函数:获取字段的名称 41
3.3.13 odbc_field_num函数:获取字段的序号 41
3.3.14 odbc_field_precision函数:获取字段的长度 42
3.3.15 odbc_field_scale函数:获取字段的浮点数 42
3.3.16 odbc_field_type函数:获取字段的资料类型 43
3.3.17 odbc_foreignkeys函数:返回特定表的外来键 44
3.3.18 odbc_gettypeinfo函数:返回数据库的类型信息 44
3.3.19 odbc_longreadlen函数:设定传回栏的最大值 45
3.3.20 odbc_num_fields函数:获取字段数目 45
3.3.21 odbc_num_rows函数:获取传回的列数目 45
3.3.22 odbc_primarykeys函数:返回列的名字作为表的主键 46
3.3.23 odbc_procedurecolumns函数:返回检索过程的参数信息 46
3.3.24 odbc_procedures函数:获取存在于特定数据源中的进程信息 47
3.3.25 odbc_result_all函数:传回HTML表格信息 47
3.3.26 odbc_result函数:获取结果数据 47
3.3.27 odbc_specialcolumns函数:返回一个表中在传送更新时可以自动更新的列 48
3.3.28 odbc_statistics函数:获取表的状态及其索引 49
3.3.29 odbc_tableprivileges函数:列出表格和每个表格关联的权限 49
3.3.30 odbc_tables函数:获取特定数据库上的表的名称 50
3.4 ODBC设置类函数 50
3.4.1 odbc_autocommit函数:开启或关闭自动更新 50
3.4.2 odbc_binmode函数:设定二进制的数据处理方式 51
3.4.3 odbc_next_result函数:检查下一个结果集是否可用 52
3.4.4 odbc_setoption函数:调整ODBC设定 52
3.5 小结 53

第4章 MySQL函数 54
4.1 MySQL连接类函数 54
4.1.1 mysql_connect函数:打开一个到MySQL服务器的连接 54
4.1.2 mysql_close函数:关闭MySQL连接 55
4.1.3 mysql_pconnect函数:打开一个到MySQL服务器的持久链接 56
4.2 MySQL操作类函数 57
4.2.1 mysql_create_db函数:新建一个MySQL数据库 57
4.2.2 mysql_data_seek函数:移动内部结果的指针 57
4.2.3 mysql_db_query函数:发送一条MySQL查询 58
4.2.4 mysql_drop_db函数:删除一个MySQL数据库 59
4.2.5 mysql_escape_string函数:转义一个用来查询的字符串 59
4.2.6 mysql_free_result函数:释放结果内存 60
4.2.7 mysql_list_dbs函数:列出MySQL服务器中所有的数据库 60
4.2.8 mysql_list_fields函数:列出MySQL结果中的字段 61
4.2.9 mysql_list_processes函数:列出MySQL进程 61
4.2.10 mysql_list_tables函数:列出MySQL数据库中的表 62
4.2.11 mysql_ping函数:Ping一个服务器连接,如果没有连接则重新连接 63
4.2.12 mysql_query函数:发送一条MySQL查询 63
4.2.13 mysql_real_escape_string函数:转义SQL语句中的特殊字符 64
4.2.14 mysql_result函数:获取结果数据 65
4.2.15 mysql_select_db函数:选择MySQL数据库 66
4.2.16 mysql_unbuffered_query函数:向MySQL发送一条SQL查询,并不获取和缓存结果的行 67
4.3 MySQL信息获取类函数 67
4.3.1 mysql_affected_rows函数:获取前一次MySQL操作所影响的记录行数 68
4.3.2 mysql_client_encoding函数:获取字符集的名称 68
4.3.3 mysql_db_name函数:获取数据库名 69
4.3.4 mysql_errno函数:返回上一个MySQL操作中的错误信息的数字编码 70
4.3.5 mysql_error函数:返回上一个MySQL操作产生的文本错误信息 70
4.3.6 mysql_fetch_array函数:从结果集中获取一行作为关联数组,或数字数组,或二者都有 71
4.3.7 mysql_fetch_assoc函数:从结果集中获取一行作为关联数组 72
4.3.8 mysql_fetch_field函数:从结果集中获取列信息并作为对象返回 73
4.3.9 mysql_fetch_lengths函数:获取结果集中每个输出的长度 75
4.3.10 mysql_fetch_object函数:从结果集中获取一行作为对象 76
4.3.11 mysql_fetch_row函数:从结果集中获取一行作为枚举数组 77
4.3.12 mysql_field_flags函数:从结果集中获取字段关联的标志 77
4.3.13 mysql_field_len函数:返回指定字段的长度 78
4.3.14 mysql_field_name函数:获取结果集中指定字段的字段名 79
4.3.15 mysql_field_seek函数:将结果集中的指针设定为指定的字段偏移量 80
4.3.16 mysql_field_table函数:获取指定字段所在的表名 81
4.3.17 mysql_field_type函数:获取结果集中指定字段的类型 81
4.3.18 mysql_get_client_info函数:获取MySQL客户端信息 82
4.3.19 mysql_get_host_info函数:获取MySQL主机信息 83
4.3.20 mysql_get_proto_info函数:获取MySQL协议信息 83
4.3.21 mysql_get_server_info函数:获取MySQL服务器信息 84
4.3.22 mysql_info函数:获取最近一条查询的信息 84
4.3.23 mysql_insert_id函数:获取上一个INSERT操作产生的ID 85
4.3.24 mysql_num_fields函数:获取结果集中字段的数目 86
4.3.25 mysql_num_rows函数:获取结果集中行的数目 86
4.3.26 mysql_stat函数:获取当前系统状态 87
4.3.27 mysql_tablename函数:获取表名 88
4.3.28 mysql_thread_id函数:获取当前线程的ID 88
4.4 小结 89

第3篇 数组字符篇

第5章 Arrays函数 93
5.1 数组建立类函数 93
5.1.1 array函数:新建一个数组 93
5.1.2 array_combine函数:用两个数组的值作为新数组的键与值来新建一个数组 94
5.1.3 range函数:建立一个包含指定范围单元的数组 94
5.2 数组操作类函数 95
5.2.1 array_chunk函数:将一个数组分割成多个数组 95
5.2.2 array_count_values函数:统计数组中所有的值出现的次数 97
5.2.3 array_diff_assoc函数:带索引检查计算数组的差集 97
5.2.4 array_diff_key函数:使用键名比较计算数组的差集 98
5.2.5 array_diff_uassoc函数:用回调函数做索引检查来计算数组的差集 98
5.2.6 array_diff_ukey函数:用回调函数对键名比较计算数组的差集 99
5.2.7 array_diff函数:计算数组的差集 100
5.2.8 array_fill函数:用给定的值填充数组 100
5.2.9 array_filter函数:用回调函数过滤数组中的单元 注:如果没有提供 callback 函数,array_filter() 将删除 array 中所有等值为 FALSE 的条目.这也就是过滤数组空白元素的精华所在
5.2.10 array_flip函数:交换数组中的键和值 102
5.2.11 array_intersect_assoc函数:带索引检查计算数组的交集 103
5.2.12 array_intersect_key函数:使用键名比较计算数组的交集 103
5.2.13 array_intersect_uassoc函数:带索引检查计算数组的交集,并用回调函数比较索引 104
5.2.14 array_intersect_ukey函数:用回调函数比较键名来计算数组的交集 104
5.2.15 array_intersect函数:计算数组的交集 105
5.2.16 array_key_exists函数:检查给定的键名或索引是否存在于数组中 106
5.2.17 array_map函数:将回调函数作用到给定数组的单元上 106
5.2.18 array_merge_recursive函数:递归地合并一个或多个数组 107
5.2.19 array_merge函数:合并一个或多个数组 108
5.2.20 array_multisort函数:对多个数组或多维数组进行排序 108
5.2.21 array_pad函数:用值将数组填补到指定长度 109
5.2.22 array_pop函数:将数组的最后一个单元弹出 110
5.2.23 array_push函数:将一个或多个单元压入数组的末尾 111
5.2.24 array_rand函数:从数组中随机取出一个或多个单元 111
5.2.25 array_reduce函数:用回调函数迭代地将数组简化为单一的值 112
5.2.26 array_search函数:在数组中查找给定的值并返回相应的键名
5.2.27 array_shift函数:移除数组开头的一个单元 114
5.2.28 array_unique函数:移除数组中重复的值 114
5.2.29 array_unshift函数:在数组开头插入一个或多个单元 115
5.2.30 array_slice函数:从数组中取出一段 115
5.2.31 array_splice函数:把数组中的一部分去掉并用其他值取代 116
5.2.32 array_sum函数:计算数组中所有值的和 118
5.2.33 array_uintersect_assoc函数:带索引检查计算数组的交集并用回调函数比较数据 118
5.2.34 array_uintersect_uassoc函数:带索引检查计算数组的交集并用回调函数比较数据和索引 119
5.2.35 array_uintersect函数:计算数组的交集并用回调函数比较数据 119
5.2.36 array_walk_recursive函数:对数组中的每个成员递归地应用用户函数 120
5.2.37 array_walk函数:对数组中的每个成员应用用户函数 121
5.2.38 compact函数:用变量名和值建立一个数组 121
5.2.39 count函数:计算数组中的单元数目或对象中的属性个数 122
5.2.40 current函数:返回数组中的当前单元 123
5.2.41 extract函数:从数组中将变量导入当前的符号表中 <?php $a = 'Original';$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");extract($my_array);echo "\$a = $a; \$b = $b; \$c = $c";?>
5.2.42 in_array函数:查找数组中是否存在某个值 125
5.2.43 key函数:从关联数组中获取键名 125
5.2.44 list函数:把数组中的值赋给一些变量 126
5.2.45 next函数:将数组中的内部指针向前移动一位 127
5.2.46 prev函数:将数组中的内部指针倒回一位 127
5.2.47 reset函数:将数组中的内部指针指向第一个单元 128
5.2.48 shuffle函数:打乱一个数组 128
5.3 数组信息获取类函数 129
5.3.1 array_change_key_case函数:返回字符串键名全为小写或大写的数组 129
5.3.2 array_keys函数:返回数组中所有的键名,也可以单独返回某个值
5.3.3 array_reverse函数:返回一个单元顺序相反的数组 130
5.3.4 array_values函数:返回数组中所有的值 131
5.3.5 each函数:返回数组中当前的键/值对并将数组指针向前移动一步 132
5.4 数组比较类函数 132
5.4.1 arsort函数:对数组进行逆向排序并保持索引关系 133
5.4.2 asort函数:对数组进行排序并保持索引关系 133
5.4.3 krsort函数:对数组按照键名逆向排序 134
5.4.4 ksort函数:对数组按照键名排序 135
5.4.5 natcasesort函数:用自然排序算法对数组进行不区分大小写字母的排序 135
5.4.6 natsort函数:用自然排序算法对数组排序 136
5.4.7 rsort函数:对数组逆向排序 137
5.4.8 sort函数:对数组排序 137
5.4.9 uasort函数:使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 138
5.4.10 uksort函数:使用用户自定义的比较函数对数组中的键名进行排序 139
5.4.11 usort函数:使用用户自定义的比较函数对数组中的值进行排序 140
5.5 小结 140


第6章 Strings函数 142
6.1 字符串转换类函数 142
6.1.1 addcslashes函数:以C语言风格使用反斜线转义字符串中的字符 142
6.1.2 addslashes函数:使用反斜线引用字符串 143
6.1.3 chop函数:清除字符串中的连续空格 143
6.1.4 get_html_translation_table函数:返回htmlspecialchars()函数和htmlentities()函数的转换表 144
6.1.5 chunk_split函数:将字符串分割成小块 146
6.1.6 hebrev函数:转换希伯来逻辑字符为可见字符 146
6.1.7 hebrevc函数:转换希伯来语文本为可见文本,包括换行符 147
6.1.8 html_entity_decode函数:转换HTML字符编码为字符 147
6.1.9 htmlentities函数:转换字符为HTML字符编码 函数把字符转换为 HTML 实体 148
6.1.10 htmlspecialchars_decode函数:转换特殊HTML字符编码为字符 149
6.1.11 htmlspecialchars函数:转换特殊字符为HTML字符编码  函数把字符转换为 HTML 实体149
6.1.12 nl2br函数:将换行字符转换成“<br>” 150
6.1.13 quotemeta函数:加入引用符 150
6.1.14 rtrim函数:清除字符串末尾的空白(或其他字符) 151
6.1.15 strip_tags函数:清除HTML及PHP的标记 151
6.1.16 stripcslashes函数:将用addslashes()函数处理后的字符串原样返回 152
6.1.17 stripslashes函数:清除字符串中的反斜线 152
6.1.18 strtolower函数:将字符串中的字母全部转换为小写 153
6.1.19 strtoupper函数:将字符串中的字母全部转换为大写 153
6.1.20 trim函数:截取字符串首尾的空格(或其他字符) 154
6.2 字符串操作类函数 154
6.2.1 explode函数:将字符串按指定字符切开 154
6.2.2 str_pad函数:用一个字符串填充另一个字符串到指定长度 155
6.2.3 str_split函数:把字符串转化为数组 156
6.2.4 str_shuffle函数:随机打乱字符串中的字符顺序 157
6.2.5 str_ireplace函数:将某个子字符串替换为另一个字符串 注:<?phpecho str_ireplace("world","John","Hello world!");?>//Hello John!
6.2.6 localeconv函数:获取当地的数字和货币信息 158
6.2.7 ltrim函数:清除字符串左端的连续空白(或者其他字符) 159
6.2.8 money_format函数:把数字字符串转换为货币表示形式 160
6.2.9 nl_langinfo函数:获取语言和地区信息 160
6.2.10 number_format函数:用千位分隔符格式化数字字符串 162
6.2.11 parse_str函数:将字符串解析为变量 163
6.2.12 setlocale函数:设置地区信息 163
6.2.13 similar_text函数:计算两个字符串中相匹配的字符串数量 164
6.2.14 str_repeat函数:重复使用指定字符串 165
6.2.15 str_replace函数:区分大小写的字符串替换 165
6.2.16 str_word_count函数:返回字符串中的单词数 166
6.2.17 strcasecmp函数:对两个字符串进行比较 166
6.2.18 strlen函数:统计字符串的长度 167
6.2.19 strnatcmp函数:使用自然顺序演算法来对比字符串 167
6.2.20 strrev函数:颠倒字符串 168
6.2.21 strtok函数:切开字符串 168
6.2.22 strtr函数:转换字符串的某些字符 169
6.2.23 substr_count函数:计算一个字符串在另一个字符串中出现的次数 170
6.2.24 substr_replace函数:替换字符串中的一部分为另一个字符串 170
6.2.25 substr函数:截取字符串;mb_substr/mb_strcut(用于中文)171
6.2.26 ucfirst函数:将字符串中第一个字符改为大写 171
6.2.27 ucwords函数:将字符串中每个单词的第一个字母改为大写 172
6.2.28 wordwrap函数:将字符串按字符个数换行 172
6.3 字符串查找类函数 173
6.3.1 chr函数:将指定的序数转化为相应的ASCII码字符 173
6.3.2 implode函数:将数组合并为字符串 173
6.3.3 join函数:将数组转化为字符串 174
6.3.4 crc32函数:计算一个字符串的crc32多项式 174
6.3.5 strchr函数:返回字符串在另一个字符串中首次出现的位置到末尾的子字符串 175
6.3.6 strcspn函数:返回字符串中起首不符合mask的子字符串长度 175
6.3.7 stripos函数:查找一个字符串在另一个字符串中首次出现的位置(不区分大小写) 176
6.3.8 stristr函数:返回一个字符串在另一个字符串中首次出现的位置到后者末尾的子字符串(不区分大小写)  176
6.3.9 strripos函数:不区分大小写查找字符在字符串中首次出现的位置 177
6.3.10 strrpos函数:查找字符在字符串中最后出现的位置 177
6.3.11 strspn函数:返回字符串中起首符合mask的子字符串长度 178
6.3.12 strstr函数:返回字符串中某字符串开始处至结束的字符串 178
6.4 字符串编码类函数 178
6.4.1 bin2hex函数:将二进制字符转化为十六进制 179
6.4.2 convert_cyr_string函数:将字符由一种Cyrillic字符转换成另一种 179
6.4.3 convert_uudecode函数:对用uuencode算法编码的字符串解码 180
6.4.4 convert_uuencode函数:对字符串进行uuencode算法编码 180
6.4.5 count_chars函数:返回字符串中所有字符的信息 180
6.4.6 ord函数:返回一个字符的ASCII码 181
6.4.7 quoted_printable_decode函数:将qp编码字符串转换成8 位元字串 182
6.4.8 str_rot13函数:对一个字符串进行rot13编码 182
6.4.9 urldecode 和rawurldecode对url编码和解码
6.5 字符串加密类函数 183
6.5.1 crypt函数:将字符串用DES编码加密 183
6.5.2 md5_file函数:计算给定文件的MD5hash 183
6.5.3 md5函数:对一个字符串进行MD5加密 184
6.5.4 sha1_file函数:计算给定文件的sha1hash 184
6.5.5 sha1函数:计算字符串的sha1hash 185
6.6 字符串输出类函数 185
6.6.1 echo函数:输出一个或多个字符 186
6.6.2 fprintf函数:输出格式化字符串到流 186
6.6.3 print函数:输出格式化字符串 187
6.6.4 printf函数:输出一个格式化的字符串 187
6.6.5 sprintf函数:返回一个格式化的字符串到变量 188
6.6.6 sscanf函数:按照一定格式解析输入的字符串 188
6.6.7 vfprintf函数:输出格式化字符串到流 189
6.6.8 vprintf函数:输出一个格式化的字符串 189
6.6.9 vsprintf函数:输出格式化的字符串到变量 190
6.7 字符串比较类函数 190
6.7.1 levenshtein函数:计算两个字符串的Levenshtein距离 191
6.7.2 metaphone函数:计算字符串的metaphone键 191
6.7.3 soundex函数:计算字符串的soundex键 192
6.7.4 strcoll函数:对两个字符串进行比较 193
6.7.5 strcmp函数:比较两个字符串 193
6.7.6 strnatcasecmp函数:用自然运算法则比较字符串(不区分大小写) 194
6.7.7 strncasecmp函数:比较字符串的前n个字符(不区分大小写) 194
6.7.8 strncmp函数:比较两个字符串的前n个字符 195
6.7.9 strpbrk函数:查找字符串中的一系列字符 195
6.7.10 strpos函数:寻找字符串中某字符最先出现的位置 196
6.7.11 strrchr函数:查找一个字符串在另一个字符串中末次出现的位置,并返回从字符串中的这个位置起,一直到字符串结尾的子字符串 196
6.7.12 substr_compare函数:从指定起始位置起在一定长度内比较两个字符串(二进制精确,区分大小写可选) 197
6.8 小结 197

第7章 Hash函数 198
7.1 PHP中的常用Hash函数 198
7.1.1 hash_algos函数:返回已经注册的Hash规则列表 198
7.1.2 hash_file函数:用指定的文件内容生成一个Hash值 199
7.1.3 hash_final函数:完成一个增加的Hash值并返回结果摘要 200
7.1.4 hash_hmac_file函数:用指定文件和HMAC模式生成一个包含密钥的Hash值 200
7.1.5 hash_hmac函数:用HMAC模式生成一个包含密钥的Hash值 201
7.1.6 hash_init函数:初始化一个增加的Hash值 201
7.1.7 hash_update_file函数:从一个文件向一个动态的Hash值灌注数据 202
7.1.8 hash_update_stream函数:从一个打开的数据流向一个动态的Hash值灌注数据 202
7.1.9 hash_update函数:向一个动态的Hash值灌注数据 203
7.1.10 hash函数:生成一个Hash值 203
7.2 小结 204

第8章 正则表达式函数 205
8.1 Perl兼容的正则表达式函数 205
8.1.1 preg_grep函数:返回与模式匹配的数组单元 205
8.1.2 preg_match_all函数:进行全局正则表达式匹配 注: 在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中。搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。flags 可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起来用没有意义):PREG_PATTERN_ORDER对结果排序使 $matches[0] 为全部模式匹配的数组,$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推
8.1.3 preg_match函数:进行正则表达式匹配 207
8.1.4 preg_quote函数:转义正则表达式字符 208
8.1.5 preg_replace_callback函数:用回调函数执行正则表达式的查找和替换 208
8.1.6 preg_replace函数:执行正则表达式的查找和替换 209
8.1.7 preg_split函数:用正则表达式分割字符串 209
8.2 小结 210

第4篇 文件目录操作篇

第9章 Directories函数 213
9.1 PHP中常用的目录操作函数 213
9.1.1 chdir函数:改变目录 213
9.1.2 chroot函数:改变根目录 214
9.1.3 dir函数:仿照面向对象的机制来读取一个目录 214
9.1.4 closedir函数:关闭目录句柄 215
9.1.5 getcwd函数:获取当前工作目录 215
9.1.6 opendir函数:打开目录句柄 216
9.1.7 readdir函数:从目录句柄中读取条目 216
9.1.8 rewinddir函数:倒回目录句柄 217
9.1.9 scandir函数:列出指定路径中的文件和目录 218
9.2 小结 219

第10章 FilePro函数 220
10.1 PHP中常用的FilePro函数 220
10.1.1 filepro_fieldcount函数:返回FilePro数据库上的表的数量 220
10.1.2 filepro_fieldname函数:返回表的名称 220
10.1.3 filepro_fieldtype函数:返回表的类型 221
10.1.4 filepro_fieldwidth函数:返回一个表的宽度 221
10.1.5 filepro_retrieve函数:检索数据库中的数据 221
10.1.6 filepro_rowcount函数:返回数据库的行数 222
10.1.7 filepro函数:将读取核对地图文件并存储表的数量和信息 222
10.2 小结 222

第11章 FileSystem函数 223
11.1 文件打开关闭类函数 223
11.1.1 fopen函数:打开本地或远程的文件 223
11.1.2 fclose函数:关闭已打开的文件指针 224
11.1.3 popen函数:根据指定模式打开进程文件指针 225
11.1.4 pclose函数:关闭进程文件指针 225
11.2 文件操作类函数 226
11.2.1 chgrp函数:改变文件所属的组 226
11.2.2 chmod函数:改变文件的访问模式 227
11.2.3 chown函数:修改文件的所有者 227
11.2.4 clearstatcache函数:清除文件状态缓存 228
11.2.5 copy函数:复制文件 229
11.2.6 delete函数:删除文件 229
11.2.7 flock函数:锁定文件 230
11.2.8 fpassthru函数:输出文件中的剩余数据 230
11.2.9 fputcsv函数:将行数据格式化为CSV格式并写入文件 231
11.2.10 fputs函数:将字符串写入文件 232
11.2.11 fread函数:读取文件内容 232
11.2.12 fscanf函数:将文件内容格式化输出 233
11.2.13 fseek函数:在文件中设置指针位置 234
11.2.14 ftruncate函数:将文件截断到指定的长度 234
11.2.15 fwrite函数:写入文件 235
11.2.16 glob函数:查找与模式匹配的文件路径 235
11.2.17 link函数:建立硬连接 236
11.2.18 move_uploaded_file函数:将上传的文件移动到新位置 236
11.2.19 parse_ini_file函数:解析一个配置文件 237
11.2.20 readfile函数:输出一个文件的内容 238
11.2.21 rename函数:重命名一个文件或目录 239
11.2.22 rewind函数:倒回文件指针 239
11.2.23 set_file_buffer函数:设置文件缓冲区大小 240
11.2.24 tempnam函数:在指定目录下建立临时文件 240
11.2.25 touch函数:修改文件时间 241
11.2.26 unlink函数:删除文件 242
11.3 文件信息获取类函数 242
11.3.1 fileowner函数:获取文件所有者 242
11.3.2 fileperms函数:获取文件权限 243
11.3.3 filesize函数:获取文件大小 243
11.3.4 filetype函数:获取文件类型 244
11.3.5 fstat函数:获取打开文件的统计信息 244
11.3.6 ftell函数:返回文件指针读/写的位置 245
11.3.7 lstat函数:返回文件或符号连接的信息 246
11.3.8 pathinfo函数:返回文件路径信息 246
11.3.9 realpath函数:返回规范化的文件绝对路径 247
11.3.10 stat函数:返回文件的信息 247
11.4 文件类型判断类函数 249
11.4.1 is_dir函数:判断指定文件是否是目录 249
11.4.2 is_executable函数:判断指定文件是否是可执行文件 250
11.4.3 is_file函数:判断指定文件是否是一个正常的文件 250
11.4.4 is_link函数:判断指定文件是否是一个符号连接 251
11.4.5 is_readable函数:判断指定文件是否可读 251
11.4.6 is_uploaded_file函数:判断指定文件是否是通过POST上传 252
11.4.7 is_writable函数:判断指定文件是否可写 252
11.4.8 file_exists函数:判断文件是否存在
11.5 文件目录操作类函数 253
11.5.1 mkdir函数:建立目录 253 mkdir($this->cache_path,0777,true)
11.5.2 rmdir函数:删除目录 254
11.5.3 disk_free_space函数:返回指定目录的剩余空间 254
11.5.4 disk_total_space函数:返回指定目录的磁盘总空间大小 255
11.6 小结 255

 

第12章 Stream函数 256
12.1 PHP中的Stream函数 256
12.1.1 stream_bucket_append函数:为队列添加数据 257
12.1.2 stream_bucket_make_writeable函数:从操作的队列中返回一个数据对象 258
12.1.3 stream_bucket_new函数:为当前队列创建一个新的数据 258
12.1.4 stream_bucket_prepend函数:预备数据到队列 258
12.1.5 stream_context_create函数:创建数据流上下文 259
12.1.6 stream_context_get_default函数:获取默认的数据流上下文 260
12.1.7 stream_context_get_options函数:获取数据流的设置 261
12.1.8 stream_context_set_option函数:对数据流、数据包或者上下文进行设置 261
12.1.9 stream_context_set_params函数:为数据流、数据包或者上下文设置参数 261
12.1.10 stream_copy_to_stream函数:在数据流之间进行复制操作 262
12.1.11 stream_filter_append函数:为数据流添加过滤器 262
12.1.12 stream_filter_prepend函数:为数据流预备添加过滤器 263
12.1.13 stream_filter_register函数:注册一个数据流的过滤器并作为PHP类执行 264
12.1.14 stream_filter_remove函数:从一个数据流中移除过滤器 265
12.1.15 stream_get_contents函数:读取数据流中的剩余数据到字符串 266
12.1.16 stream_get_filters函数:返回已经注册的数据流过滤器列表 267
12.1.17 stream_get_line函数:按照给定的定界符从数据流资源中获取行 267
12.1.18 stream_get_meta_data函数:从封装协议文件指针中获取报头/元数据 268
12.1.19 stream_get_transports函数:返回注册的Socket传输列表 269
12.1.20 stream_get_wrappers函数:返回注册的数据流列表 269
12.1.21 stream_register_wrapper函数:注册一个用PHP类实现的URL封装协议 270
12.1.22 stream_select函数:接收数据流数组并等待它们状态的改变 272
12.1.23 stream_set_blocking函数:将一个数据流设置为堵塞或者非堵塞状态 273
12.1.24 stream_set_timeout函数:对数据流进行超时设置 274
12.1.25 stream_set_write_buffer函数:为数据流设置缓冲区 274
12.1.26 stream_socket_accept函数:接受由函数stream_ socket_server()创建的Socket连接 275
12.1.27 stream_socket_client函数:打开网络或者UNIX主机的Socket连接 276
12.1.28 stream_socket_enable_crypto函数:为一个已经连接的Socket打开或者关闭数据加密 277
12.1.29 stream_socket_get_name函数:获取本地或者网络Socket的名称 278
12.1.30 stream_socket_pair函数:创建两个无区别的Socket数据流连接 278
12.1.31 stream_socket_recvfrom函数:从Socket获取数据,不管其连接与否 279
12.1.32 stream_socket_sendto函数:向Socket发送数据,不管其连接与否 280
12.1.33 stream_socket_server函数:创建一个网络或者UNIX Socket服务端 281
12.1.34 stream_wrapper_restore函数:恢复一个事先注销的数据包 281
12.1.35 stream_wrapper_unregister函数:注销一个URL地址包 282
12.2 小结 282

第5篇 网络通信篇

第13章 Socket函数 285
13.1 Socket连接类函数 285
13.1.1 socket_accept函数:接受一个Socket连接 285
13.1.2 socket_bind函数:绑定一个Socket连接 286
13.1.3 socket_close函数:关闭Socket连接 286
13.1.4 socket_connect函数:在Socket上初始化一个连接 286
13.1.5 socket_create_pair函数:建立一对Socket,并存储在数组中 287
13.1.6 Socket_create函数:建立Socket连接 289
13.1.7 socket_listen函数:监听一个Socket连接 290
13.2 Socket操作类函数 290
13.2.1 socket_clear_error函数:清空Socket错误信息或者最后一个错误代码 290
13.2.2 Socket_create_listen函数:在Socket上打开一个端口接受连接 291
13.2.3 Socket_get_option函数:获取Socket的设置选项 292
13.2.4 socket_getpeername函数:获取远程主机的Socket信息 293
13.2.5 Socket_getsockname函数:获取本地主机的Socket信息 294
13.2.6 socket_last_error函数:返回Socket最后一个错误代号 294
13.2.7 Socket_read函数:从连接中读取设置的最大长度的字节数 295
13.2.8 Socket_recv函数:从一个连接的Socket中接收数据 295
13.2.9 Socket_recvfrom函数:接收数据,不管连接是否断开 297
13.2.10 socket_select函数:查询Socket状态 297
13.2.11 socket_send函数:发送数据 298
13.2.12 socket_sendto函数:发送一条消息到Socket,不管连接是否断开 299
13.2.13 socket_set_block函数:锁定Socket 300
13.2.14 Socket_set_nonblock函数:设置不锁定状态 300
13.2.15 socket_set_option函数:设置Socket连接选项 301
13.2.16 socket_shutdown函数:关闭一个Socket连接 302
13.2.17 socket_strerror函数:返回一个包含Socket错误信息的字符串 302
13.2.18 socket_write函数:写入一个Socket 303
13.3 小结 303

第14章 SNMP函数 304
14.1 PHP中的SNMP函数 304
14.1.1 snmp_get_quick_print函数:返回UCD库中quick_print设置的当前值 304
14.1.2 snmp_get_valueretrieval函数:返回SNMP值如何被返回的路径 305
14.1.3 snmp_read_mib函数:读取并从分析MIB文件到动态的MIB树 305
14.1.4 snmp_set_enum_print函数:返回所有的枚举值 306
14.1.5 snmp_set_oid_numeric_print函数:返回所有的对象,包括它们各自的对象ID并指明 306
14.1.6 snmp_set_quick_print函数:设置UCD SNMP库中quick_print的值 306
14.1.7 snmp_set_valueretrieval函数:指明SNMP的值的返回路径 307
14.1.8 snmpget函数:获取一个SNMP对象 307
14.1.9 snmpgetnext函数:发送一个SNMP对象 308
14.1.10 snmprealwalk函数:返回指定的所有对象,包括它们各自的对象ID 308
14.1.11 snmpset函数:设置一个SNMP对象 308
14.1.12 snmpwalk函数:从代理返回所有的SNMP对象 309
14.1.13 snmpwalkoid函数:查询关于网络实体的信息树 309
14.2 小结 310

第15章 Session函数 311
15.1 PHP中常用的Session函数 311
15.1.1 session_cache_expire函数:获取或者设置当前Session的过期时间 311
15.1.2 session_cache_limiter函数:获取或者设置当前的cache限制者 312
15.1.3 session_commit函数:存储Session中的数据并终止Session 312
15.1.4 session_decode函数:解密Session数据 313
15.1.5 session_destroy函数:结束所有已经注册的Session 313
15.1.6 session_encode函数:将当前Session会话值加密为一个字符串 314
15.1.7 session_get_cookie_params函数:获取Session Cookie的参数 315
15.1.8 session_id函数:获取或者设置当前的Session ID值 315
15.1.9 session_is_registered函数:检查变量是否被注册为Session 316
15.1.10 session_module_name函数:获取或者设置目前的Session模组 316
15.1.11 session_name函数:获取或者设置目前的Session名称 317
15.1.12 session_regenerate_id函数:用一个新值更新当前的Session ID 318
15.1.13 session_register函数:注册Session为新的全局变量 318
15.1.14 session_save_path函数:获取或者设置目前的Session保存路径 319
15.1.15 session_set_cookie_params函数:设置Cookie的参数 为了跨域使用
15.1.16 session_set_save_handler函数:设置用户级的Session存储函数 320
15.1.17 session_start函数:初始化Session数据 321
15.1.18 session_unregister函数:从当前Session中注销一个值 321
15.1.19 session_unset函数:释放所有的Session变量 322
15.1.20 session_write_close函数:向Session中写入数据并终止Session 323
15.2 小结 323

第16章 URL函数 324
16.1 PHP中的URL函数 324
16.1.1 base64_decode函数:对使用MIME base64编码的数据进行解码 324
16.1.2 base64_encode函数:使用MIME base64对数据进行编码 325
16.1.3 get_headers函数:获取HTTP请求头部信息 325
16.1.4 get_meta_tags函数:从一个文件中提取所有的meta标签并返回一个数组 326
16.1.5 http_build_query函数:将数组生成url-encoded之后的请求字符串 327
16.1.6 parse_url函数:解析URL并返回其组成部分 328
16.1.7 rawurldecode函数:对已编码的URL字符串进行解码 328
16.1.8 rawurlencode函数:按照RFC 1738对URL进行编码 328
16.1.9 urldecode函数:解码已编码的URL字符串 329
16.1.10 urlencode函数:编码URL字符串 329
16.2 小结 330

第17章 Mail函数 331
17.1 PHP中的Mail函数 331
17.1.1 ezmlm_hash函数:计算EZMLM所需的散列值 331
17.1.2 mail函数:发送邮件 332
17.2 小结 333

第18章 HTTP/head/meta函数 334
18.1 PHP中的HTTP函数 334
18.1.1 header函数:发送一个原始HTTP标头 334
18.1.2 headers_list函数:返回已发送(或准备发送) 的响应标头的列表 335
18.1.3 headers_sent函数:检查标头是否已被发送以及在哪里被发送 335
18.1.4 setcookie函数:发送一个Cookie信息 336
18.1.5 setrawcookie函数:发送一个其值未经urlencode编码的Cookie 337
18.1.6 header("Content-type: text/html; charset=utf-8/gb2312"):php页面为utf编码
18.1.7 <Meta http-equiv="Content-Type" Content="text/html; Charset=gb2312">(显示字符集的设定)
18.1.8 <Meta http-equiv="Refresh" Content="5; Url=http://www.xia8.net">Refresh (刷新)
18.1.9 <Meta http-equiv="Expires" Content="Wed, 26 Feb 1997 08:21:57 GMT">Expires (期限)
18.1.10 <Meta http-equiv="Pragma" Content="No-cach">Pragma (cach模式)
18.1.11 <Meta http-equiv="Set-Cookie" Content="cookievalue=xxx; expires=Wednesday,Set-Cookie 21-Oct-98 16:14:21 GMT; path=/"> (cookie设定)
18.1.12 <Meta http-equiv="Widow-target" Content="_top">Window-target (显示窗口的设定)
18.1.13 <META http-equiv="Pics-label" Contect="(PICS-1.1'http://www.rsac.org/ratingsv01.html'I gen comment 'RSACi North America Sever' by '[email protected]' for 'http://www.microsoft.com' on '1997.06.30T14:21-0500' r(n0 s0 v0 l0))"> Pics-label (网页RSAC等级评定)
18.1.14 <Meta http-equiv="Page-Exit" Content="blendTrans(Duration=0.5)">(进入与退出)
18.1.15 <Meta http-equiv="MSThemeCompatible" Content="Yes">MSThemeCompatible (XP主题)
18.1.16 <Meta http-equiv="IE6" Content="Generator">IE6 (页面生成器)
18.1.17 <Meta http-equiv="Content-Script-Type" Content="text/javascript">Content-Script-Type (脚本相关)
<meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80">
<meta http-equiv="Content-Language" contect="zh-CN">用以说明主页制作所使用的文字以及语言;又如英文是ISO-8859-1字符集,还有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集;
  2、<meta http-equiv="Refresh" contect="n;url=http://yourlink">定时让网页在指定的时间n内,跳转到页面http://yourlink;
  3、<meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT">可以用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式;
  4、<meta http-equiv="Pragma" contect="no-cache">是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出;
  5、<meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT">cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式;
  6、<meta http-equiv="Pics-label" contect="">网页等级评定,在IE的internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级别就是通过meta属性来设置的;
  7、<meta http-equiv="windows-Target" contect="_top">强制页面在当前窗口中以独立页面显示,可以防止自己的网页被别人当作一个frame页调用;
  8、<meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion= 50)">和<meta http-equiv="Page-Exit" contect="revealTrans(duration=20,transtion=6)">设定进入和离开页面时的特殊效果,


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP快速高效的将多维数组降维发布时间:2022-07-10
下一篇:
PHP获取网络图片并保存在本地目录发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap