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

PHP
PHP 执行系统外部命令 system() exec() passthru()
最新的php 文件上传模型,支持多文件上传
php 静态页面中显示动态内容
数据库查询记录php 多行多列显示
谈PHP生成静态页面分析 模板+缓存+写文件
PHP 各种排序算法实现代码
PHP nl2br函数 将换行字符转成 <br>
php 分页原理详解
Discuz 模板语句分析及知识技巧
php win下Socket方式发邮件类
怎样去阅读一份php源代码
建站常用13种PHP开源CMS比较
php xml留言板 xml存储数据的简单例子
PHP 开源AJAX框架14种
PHP 替换模板变量实现步骤
PHP has encountered an Access Violation at 7C94BD02解决方法
php 正则匹配函数体
php 文件夹删除、php清除缓存程序
php download.php实现代码 跳转到下载文件(response.redirect)
PHP类(Class)入门教程

PHP 中的 php4新函数集锦


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 145 ::
收藏到网摘: 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的功能是复制,而不是阵列它本身,因此并不会改变阵列指针 
下面范例的功能都是