Return to userfilters.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: stream userfilter test 3: --FILE-- 4: <?php 5: # vim600:syn=php: 6: class testfilter extends php_user_filter { 7: function filter($in, $out, &$consumed, $closing) { 8: while ($bucket = stream_bucket_make_writeable($in)) { 9: $bucket->data = strtoupper($bucket->data); 10: $consumed += strlen($bucket->data); 11: stream_bucket_append($out, $bucket); 12: } 13: return PSFS_PASS_ON; 14: } 15: 16: function oncreate() { 17: echo "params: {$this->params}\n"; 18: } 19: } 20: 21: stream_filter_register('testfilter','testfilter'); 22: 23: $text = b"Hello There!"; 24: 25: $fp = tmpfile(); 26: fwrite($fp, $text); 27: 28: rewind($fp); 29: stream_filter_append($fp, 'testfilter', STREAM_FILTER_READ, 'testuserfilter'); 30: 31: var_dump(fgets($fp)); 32: fclose($fp); 33: 34: ?> 35: --EXPECT-- 36: params: testuserfilter 37: string(12) "HELLO THERE!"