stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5, PHP 7)
Register a URL wrapper implemented as a PHP class
bool stream_wrapper_register ( string $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.).

Parameters:
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:

Returns TRUE on success or FALSE on failure.

stream_wrapper_register() will return FALSE if the protocol already has a handler.

Changelog:
5.2.4

Added the flags parameter.

Examples:
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
"
See also:

streamWrapper -

Example class registered as stream wrapper -

stream_wrapper_unregister() -

stream_wrapper_restore() -

stream_get_wrappers() -

doc_php
2016-02-24 16:07:00
Comments
Leave a Comment

Please login to continue.