快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

PHP4新函数集锦

 一、输出信息控制函数  


这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特殊是在你的脚本已经输出信息后需要发送文件头新的情况.  输出控制函数不对使用  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的功能是复制,而不是阵列它本身,因此并不会改变阵列指针  
下面范例的功能都是一样的  : 

 
<?php  
reset  ($arr);  
while  (list(,  $value)  =  each  ($arr))  {  
echo  "Value:  $value<br>  
";  
}  

foreach  ($arr  as  $value)  {  
echo  "Value:  $value<br>  
";  
}  
?>  


下面范例的功能也都是一样的  : 

 
<?php  
reset  ($arr);  
while  (list($key,  $value)  =  each  ($arr))  {  
echo  "Key:  $key;  Value:  $value<br>  
";  
}  
foreach  ($arr  as  $key  =>  $value)  {  
echo  "Key:  $key;  Value:  $value<br>  
";  
}  
?>  


以下的范例将说明  foreach的用法  :  


<?php  
/*  foreach  example  1:  value  only  */  
$a  =  array  (1,  2,  3,  17);  
foreach  ($a  as  $v)  {  
print  "Current  value  of  $a:  $v.  
";  
}  

/*  foreach  example  2:  key  and  value  */  
$a  =  array  (  
"one"  =>  1,  
"two"  =>  2,  
"three"  =>  3,  
"seventeen"  =>  17  
);  
foreach($a  as  $k  =>  $v)  {  
print  "$a[$k]  =>  $v.  
";  
}  
?>  


返回类别: 教程
上一教程: PHP4调用自己编写的COM组件
下一教程: PHP生成动态WAP页面(三)

您可以阅读与"PHP4新函数集锦"相关的教程:
· PHP4 的新函数介绍 - 输出信息控制函数
· 我错了。。是我不好。。呜呜。。负荆请罪。。(转载一篇好文章:PHP4 的新函数介绍 - 输出信息控制函数)
· php通用检测函数集(4)
· 介绍几个array库的新函数
· PHP4(windows版本)中的COM函数
    微笑服务 优质保证 索取样品