设为首页收藏本站language 语言切换
查看: 1528|回复: 0
收起左侧

PHP4新函数集锦

[复制链接]
发表于 2010-2-24 13:36:03 | 显示全部楼层 |阅读模式
<br>                   一、输出信息控制函数  <BR><BR><BR>这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况. 输出控制函数不对使用 header() 或 setcookie() 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用.  <BR><BR>例 1. 控制输出  <BR><BR>&lt;?php  <BR><BR>ob_start();  <BR>echo "Hellon";  <BR><BR>setcookie ("cookiename", "cookiedata");  <BR><BR>ob_end_flush();  <BR><BR>?&gt;  <BR><BR>在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush(). 这样做有意义的地方是,调用 setcookie() 的内容被成功的存储在 cookie 里面而不会引起错误. (正常情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.)  <BR><BR>相关函数 header() and setcookie().  <BR><BR>韩数列表  <BR>flush — 刷新输出缓冲区  <BR>保存在输出缓冲区的内容会被发送到浏览器  <BR><BR>ob_start — 打开输出缓冲区  <BR>这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面  <BR><BR>ob_get_contents — 返回输出缓冲区的内容  <BR>如果你想以后处理输出的内容,可以调用这个函数保留一个备份  <BR><BR>ob_get_length — 返回输出缓冲区的内容长度  <BR><BR>ob_end_flush — 结束(发送)输出缓冲区的内容,关闭输出缓冲区  <BR><BR>ob_end_clean — 删除(放弃)输出缓冲区的内容,关闭输出缓冲区  <BR>如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息  <BR><BR>ob_implicit_flush — 打开或关闭直接刷新  <BR>打开后,每个脚本输出都直接发送到浏览器,不再需要调用 flush()  <BR><BR><BR>二、取得当前目录  <BR><BR><BR>这是 php4 的新的目录函数!  <BR><BR>string getcwd(void)  <BR><BR>返回为当前脚本路径的字符串!  <BR><BR>三、 解决脚本超时  <BR><BR>在 php 的配置/信息里面有一个设置脚本执行时间的函数,具体情况如下:  <BR><BR>set_time_limit  <BR>配置该页最久执行时间。  <BR><BR>语法: void set_time_limit(int seconds);  <BR><BR>返回值: 无  <BR><BR>函数种类: PHP 系统功能  <BR><BR>内容说明  <BR><BR>本函数用来配置该页最久执行时间。默认值是 30 秒,在 php.ini 中的 max_execution_time 变量配置,若配置为 0 则不限定最久时间。当执行到该函数时,才开始计算。例如,若默认是 30 秒,而在执行到该函数前已执行了 25 秒,而用本函数改为 20 秒,则该页面最长执行时间为 45 秒。  <BR><BR>使用实例:  <BR>我的文章搜索函数由于文章数目的增加,经常会产生超时错误,我把脚本执行时间改为200秒后情况大大缓解!  <BR>&lt;?  <BR>set_time_limit(200);  <BR>?&gt;  <BR><BR><BR>四、 数组遍历  <BR><BR>· foreach  <BR>在 PHP4中,新增了一个循环语句 foreach,它很像是 perl和其它的语言,你可以给它一个阵列,让它来取出阵列的值。它有下列这二个语法,第二个语法是较次要的,但是可用来作为第一个语法的延伸。  <BR>foreach(array_expression as $value) statement  <BR>foreach(array_expression as $key =&gt; $value) statement  <BR>第一个形式的循环,它会在每个循环上,将目前元素的值分配给 $value,并且向后移动阵列的內部指针,所以在下一个循环的时候,你就会看到下一个元素了。  <BR>第二个形式的循环和第一个是相同的,不同的是它会在每个循环将目前元素的索引值分配给变量 $key。  <BR>注意 : 当 foreach第一次开始执行的时候,它会把阵列的內部指针重新设定到阵列的第一个元素,意思是说,在使用 foreach之前,你不必再去调用 reset( )。  <BR>注意 : foreach的功能是复制,而不是阵列它本身,因此并不会改变阵列指针  <BR>下面范例的功能都是相同的 :  <BR>&lt;?php  <BR>reset ($arr);  <BR>while (list(, $value) = each ($arr)) {  <BR>echo "Value: $value&lt;br&gt;  <BR>";  <BR>}  <BR><BR>foreach ($arr as $value) {  <BR>echo "Value: $value&lt;br&gt;  <BR>";  <BR>}  <BR>?&gt;  <BR>下面范例的功能也都是相同的 :  <BR>&lt;?php  <BR>reset ($arr);  <BR>while (list($key, $value) = each ($arr)) {  <BR>echo "Key: $key; Value: $value&lt;br&gt;  <BR>";  <BR>}  <BR>foreach ($arr as $key =&gt; $value) {  <BR>echo "Key: $key; Value: $value&lt;br&gt;  <BR>";  <BR>}  <BR>?&gt;  <BR>以下的范例将说明 foreach的用法 :  <BR>&lt;?php  <BR>/* foreach example 1: value only */  <BR>$a = array (1, 2, 3, 17);  <BR>foreach ($a as $v) {  <BR>print "Current value of $a: $v.  <BR>";  <BR>}  <BR><BR>/* foreach example 2: key and value */  <BR>$a = array (  <BR>"one" =&gt; 1,  <BR>"two" =&gt; 2,  <BR>"three" =&gt; 3,  <BR>"seventeen" =&gt; 17  <BR>);  <BR>foreach($a as $k =&gt; $v) {  <BR>print "$a[$k] =&gt; $v.  <BR>";  <BR>}  <BR>?&gt;                   <br><br>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-30 07:14 , Processed in 0.068386 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表