当前位置: 首页 > 图文教程 > 网络编程 > PHP > php4新函数集锦

PHP
php面向对象全攻略 (十五) 多态的应用
php面向对象全攻略 (十六) 对象的串行化
php面向对象全攻略 (十七) 自动加载类
PHP parse_url 一个好用的函数
PHP 字符串分割和比较
全世界最小的php网页木马一枚 附PHP木马的防范方法
PHP 日期加减的类,很不错
PHP 日期时间函数的高级应用技巧
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Ha0k 0.3 PHP 网页木马修改版
PHP iconv 函数转gb2312的bug解决方法
关于页面优化和伪静态
使用zend studio for eclipse不能激活代码提示功能的解决办法
PHP 身份验证方面的函数
基于OpenCV的PHP图像人脸识别技术
用mysql触发器自动更新memcache的实现代码
php 数学运算验证码实现代码
PHP网站开发方案实例
PHP教程:挖掘细节提升网站性能
搜索引擎技术核心揭密(PHP)

PHP 中的 php4新函数集锦


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 103 ::
收藏到网摘: n/a

一、输出信息控制函数 


这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况.  输出控制函数不对使用  header()  或  setcookie()  发送的文件头信息产生影响,只对那些类似于  echo()  和  PHP  代码的数据块有作用. 

例  1.  控制输出 

<?php 
 
ob_start(); 
echo  "Hellon"; 
 
setcookie  ("cookiename",  "cookiedata"); 
 
ob_end_flush(); 
 
?>  

在上面的例子中,使用  echo()  的输出内容将会保存在输出缓冲区中,直到调用了  ob_end_flush().  这样做有意义的地方是,调用  setcookie()  的内容被成功的存储在  cookie  里面而不会引起错误.  (正常情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.) 

相关函数  header()  and  setcookie(). 

韩数列表 
flush  —  刷新输出缓冲区 
保存在输出缓冲区的内容会被发送到浏览器 

ob_start  —  打开输出缓冲区 
这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面 

ob_get_contents  —  返回输出缓冲区的内容 
如果你想以后处理输出的内容,可以调用这个函数保留一个备份 

ob_get_length  —  返回输出缓冲区的内容长度 

ob_end_flush  —  结束(发送)输出缓冲区的内容,关闭输出缓冲区 

ob_end_clean  —  删除(放弃)输出缓冲区的内容,关闭输出缓冲区 
如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息 

ob_implicit_flush  —  打开或关闭直接刷新 
打开后,每个脚本输出都直接发送到浏览器,不再需要调用  flush() 


二、取得当前目录 


这是  php4  的新的目录函数! 

string  getcwd(void) 

返回为当前脚本路径的字符串! 

三、  解决脚本超时 

在  php  的配置/信息里面有一个设置脚本执行时间的函数,具体情况如下: 

set_time_limit 
配置该页最久执行时间。 

语法:  void  set_time_limit(int  seconds); 

返回值:  无 

函数种类:  PHP  系统功能 

内容说明 

本函数用来配置该页最久执行时间。默认值是  30  秒,在  php.ini  中的  max_execution_time  变量配置,若配置为  0  则不限定最久时间。当执行到该函数时,才开始计算。例如,若默认是  30  秒,而在执行到该函数前已执行了  25  秒,而用本函数改为  20  秒,则该页面最长执行时间为  45  秒。 

使用实例: 
我的文章搜索函数由于文章数目的增加,经常会产生超时错误,我把脚本执行时间改为200秒后情况大大缓解! 

<? 
set_time_limit(200); 
?>  


四、  数组遍历 

·  foreach 
在  PHP4中,新增了一个循环语句  foreach,它很像是  perl和其它的语言,你可以给它一个阵列,让它来取出阵列的值。它有下列这二个语法,第二个语法是较次要的,但是可用来作为第一个语法的延伸。 
foreach(array_expression  as  $value)  statement 
foreach(array_expression  as  $key  =>  $value)  statement 
第一个形式的循环,它会在每个循环上,将目前元素的值分配给  $value,并且向后移动阵列的?部指针,所以在下一个循环的时候,你就会看到下一个元素了。 
第二个形式的循环和第一个是相同的,不同的是它会在每个循环将目前元素的索引值分配给变量  $key。 
注意  :  当  foreach第一次开始执行的时候,它会把阵列的?部指针重新设定到阵列的第一个元素,意思是说,在使用  foreach之前,你不必再去调用  reset(  )。 
注意  :  foreach的功能是复制,而不是阵列它本身,因此并不会改变阵列指针 
下面范例的功能都是