(PHP 4 >= 4.3.2, PHP 5, PHP 7)
stream_wrapper_register — Register a URL wrapper implemented as a PHP class
$protocol
, string $classname
[, int $flags
= 0
] )Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).
protocol
The wrapper name to be registered.
classname
The classname which implements the protocol
.
flags
Should be set to STREAM_IS_URL
if
protocol
is a URL protocol. Default is 0, local
stream.
Returns TRUE
on success or FALSE
on failure.
stream_wrapper_register() will return FALSE
if the
protocol
already has a handler.
Version | Description |
---|---|
5.2.4 |
Added the flags parameter.
|
Example #1 How to register a stream wrapper
<?php
$existed = in_array("var", stream_get_wrappers());
if ($existed) {
stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$myvar = "";
$fp = fopen("var://myvar", "r+");
fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");
rewind($fp);
while (!feof($fp)) {
echo fgets($fp);
}
fclose($fp);
var_dump($myvar);
if ($existed) {
stream_wrapper_restore("var");
}
?>
The above example will output:
line1 line2 line3 string(18) "line1 line2 line3 "