2002-12-31 18:39:36 +00:00
|
|
|
--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);
|
2003-01-06 14:04:23 +00:00
|
|
|
return strlen($data);
|
2002-12-31 18:39:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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));
|
2003-01-01 11:04:44 +00:00
|
|
|
fclose($fp);
|
2002-12-31 18:39:36 +00:00
|
|
|
?>
|
|
|
|
--EXPECT--
|
|
|
|
bool(true)
|
|
|
|
oncreate:
|
|
|
|
string(16) "string.uppercase"
|
|
|
|
NULL
|
|
|
|
bool(true)
|
|
|
|
read:
|
|
|
|
read:
|
|
|
|
string(11) "HELLO THERE"
|
|
|
|
flush:
|
|
|
|
onclose:
|