class md5_filter extends php_user_filter{
public function filter($in,$out,&$consumed,$closing){
while($bucket = stream_bucket_make_writeable($in)){
$bucket->data = md5($bucket->data);
$consumed += $bucket->datalen;
stream_bucket_append($out,$bucket);
}
//允许其他管道使用
return PSFS_PASS_ON;
}
}
//注册进入过滤器
stream_filter_register('string.md5','md5_filter');
//print_r(stream_get_filters());
//使用
$file_path = dirname(__FILE__).DIRECTORY_SEPARATOR.'test.txt';
$fp = fopen($file_path,"w+");
stream_filter_append($fp,"string.md5",STREAM_FILTER_WRITE);
$txt = "hello
";
fwrite($fp,$txt);
rewind($fp);
fpassthru($fp);
fclose($fp);