概述:文中对PHP的输出控制功能开展了简易详细介绍并对其在
一 PHP 输出控制功能详细介绍
PHP做为现如今时兴的开发语言之一,具备撰写简单,实行速度更快,扩充性好等优势。PHP的输出信息内容控制涵数能够给你控制你的脚本制作输出的內容,能够用以很多不一样的状况,特别是在你的脚本制作早已输出信息内容后必须推送文件头的状况及其必须对输出信息内容开展编写解决的地区。输出控制涵数不对应用 header() 或 setcookie() 推送的文件头信息内容造成危害,只对这些类似 echo()、print() 和 PHP 编码的数据信息块有功效。
例 1. 控制输出
test.php
function test($str){
return str_replace("php2000","y15k",$str);
}
ob_start("test");
echo "hello php2000";
ob_end_flush();
?>
这一程序流程在沒有输出信息内容控制的状况下应当输出为
hello php2000
但根据特定了输出控制涵数后,输出变成
hello y15k
在上面的事例中,应用 echo() 的输出內容可能储存在输出缓冲区域中,直至启用了 ob_end_flush()或是脚本制作运作停止, 随后输出信息内容由自定的处理函数开展解决(更换里边的字符串数组)并回到結果。
相关函数表明
ob_start([string output_callback])- 开启输出缓冲区域
全部的输出信息内容没有立即发送至电脑浏览器,只是储存在输出缓冲区域里边,可选择得回调函数用以解决输出結果信息内容。
ob_end_flush – 完毕(推送)输出缓冲区域的內容,关掉输出缓冲区域
二 简繁体转换的完成
一般通过对应表的方式完成,有关的文章内容十分多,这儿就很少讲了,只得出其完成编码
function gb2big5($str) {
global $_gb_big5_;
$leng = strlen($str)-1;
for($i = 0; $i
$h = ord($str[$i]);
if($h>=160){
$l = ord($str[$i 1]);
$gb=($h==161 && $l==64)?" " : substr($_gb_big5_, ($h-160)*510 ($l-1)*2, 2);
$str[$i] = $gb[0];
$str[$i 1] = $gb[1];
$i ;
}
}
return $str;
}
?>
在其中:
$gb_big5_ 储存着big5 的中文
// 读出数据
$fp = fopen(big5.table, r);
$_gb_big5_ = fread($fp, filesize(big5.table));
fclose($fp);
if($shm_id){
$shm_bytes_written = shmop_write($shm_id, $_gb_big5_,0); // 载入 big5 数据信息
}
}
ob_start(translate_gb2big5);
}
?>
有关共享内存的操作方法,请查看相关材料。
四 结果
PHP 做为一种公布源码的开发语言,其扩充性是很好的。文中仅仅对其一个功能的一种运用方法的讨论,并完成了较为极致的同一网页页面全自动简繁体转换功能。期待众多喜好 PHP 的盆友能从这当中获得启迪,作出更强的著作。
原创文章,作者:纳点网,如若转载,请注明出处:https://na.wang/zx/web/php/3618.html