mirror of
https://github.com/php/php-src.git
synced 2024-10-18 23:12:35 +00:00
61 lines
862 B
Plaintext
61 lines
862 B
Plaintext
|
--TEST--
|
||
|
User-space filters
|
||
|
--FILE--
|
||
|
<?php
|
||
|
# vim600:syn=php:
|
||
|
|
||
|
class UpperCaseFilter extends php_user_filter {
|
||
|
function oncreate()
|
||
|
{
|
||
|
echo "oncreate:\n";
|
||
|
var_dump($this->filtername);
|
||
|
var_dump($this->params);
|
||
|
}
|
||
|
|
||
|
function flush($closing)
|
||
|
{
|
||
|
echo "flush:\n";
|
||
|
}
|
||
|
|
||
|
function onclose()
|
||
|
{
|
||
|
echo "onclose:\n";
|
||
|
}
|
||
|
|
||
|
function write($data)
|
||
|
{
|
||
|
echo "write:\n";
|
||
|
$x = parent::write($data);
|
||
|
return $x;
|
||
|
}
|
||
|
|
||
|
function read($bytes)
|
||
|
{
|
||
|
echo "read:\n";
|
||
|
$x = parent::read($bytes);
|
||
|
return strtoupper($x);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
var_dump(stream_register_filter("string.uppercase", "UpperCaseFilter"));
|
||
|
$fp = tmpfile();
|
||
|
|
||
|
fwrite($fp, "hello there");
|
||
|
rewind($fp);
|
||
|
|
||
|
var_dump(stream_filter_prepend($fp, "string.uppercase"));
|
||
|
var_dump(fgets($fp));
|
||
|
|
||
|
?>
|
||
|
--EXPECT--
|
||
|
bool(true)
|
||
|
oncreate:
|
||
|
string(16) "string.uppercase"
|
||
|
NULL
|
||
|
bool(true)
|
||
|
read:
|
||
|
read:
|
||
|
string(11) "HELLO THERE"
|
||
|
flush:
|
||
|
onclose:
|