PHP流Streams、包装器wrapper概念与用法实例详解

时间:2017-12-05

用户过滤器基类:http://php.net/manual/zh/class.php-user-filter.php
过滤器注册:http://php.net/manual/zh/function.stream-filter-register.php

<?php
/* 定义一个过滤器 */
class strtoupper_filter extends php_user_filter {
 function filter($in, $out, &$consumed, $closing)
 {
  while ($bucket = stream_bucket_make_writeable($in)) { //从流里面取出一段数据
   $bucket->data = strtoupper($bucket->data);
   $consumed += $bucket->datalen;
   stream_bucket_append($out, $bucket); //将修改后的数据送到输出的地方
  }
  return PSFS_PASS_ON;
 }
}
/* 注册过滤器到php */
stream_filter_register("strtoupper", "strtoupper_filter")
  or die("Failed to register filter");
$fp = fopen("foo-bar.txt", "w");
/* 应用过滤器到一个流 */
stream_filter_append($fp, "strtoupper");
fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");
fclose($fp);
//读取并显示内容 将全部变为大写
readfile("foo-bar.txt");
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

  • 共3页:
  • 上一页
  • 3/3下一篇
    上一篇:PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】 下一篇:PHP实现求两个字符串最长公共子串的方法示例

    相关文章

    最新文章