stream_wrapper_register
(PHP 4 >= 4.3.2, PHP 5, PHP 7)
stream_wrapper_register - 注册一个实现为PHP类的URL包装器
描述
bool stream_wrapper_register ( string $protocol , string $classname [, int $flags = 0 ] )
允许您实现自己的协议处理程序和流以用于所有其他文件系统功能(例如fopen(),fread()等)。
参数
protocol
要注册的包装名称。
classname
实现的类名protocol
。
flags
应该设置为STREAM_IS_URL
if是否protocol
是URL协议。本地流默认为0。
返回值
成功时返回TRUE
或失败时返回FALSE
。
FALSE
如果protocol
已有处理程序,则stream_wrapper_register()将返回。
Changelog
版本 | 描述 |
---|---|
5.2.4 | 增加了flags参数。 |
示例
示例#1如何注册流包装器
<?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");
}
?>
上面的例子将输出:
line1
line2
line3
string(18) "line1
line2
line3
"
另请参阅
- streamWrapper原型类
- stream_wrapper_unregister() - 取消注册URL包装器
- stream_wrapper_restore() - 恢复先前未注册的内置包装
- stream_get_wrappers() - 检索注册流的列表
← stream_supports_lock
stream_wrapper_restore →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com