stream_wrapper_register
(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)
Register a URL wrapper implemented as a PHP class
Description
Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).
Parameters
protocolThe wrapper name to be registered. Valid protocol names must contain alphanumerics, dots (.), plusses (+), or hyphens (-) only.
classThe classname which implements the
protocol.flagsShould be set to
STREAM_IS_URLifprotocolis a URL protocol. Default is 0, local stream.
Return Values
Success
stream_wrapper_register() will return false if the protocol already has a handler.
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
"