首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

stream_wrapper_register - 注册一个实现为PHP类的URL包装器

描述

代码语言:javascript
复制
bool stream_wrapper_register ( string $protocol , string $classname [, int $flags  = 0 ] )

允许您实现自己的协议处理程序和流以用于所有其他文件系统功能(例如fopen(),fread()等)。

参数

protocol

要注册的包装名称。

classname

实现的类名protocol

flags

应该设置为STREAM_IS_URLif是否protocol是URL协议。本地流默认为0。

返回值

成功时返回TRUE或失败时返回FALSE

FALSE如果protocol已有处理程序,则stream_wrapper_register()将返回。

Changelog

版本

描述

5.2.4

增加了flags参数。

示例

示例#1如何注册流包装器

代码语言:javascript
复制
<?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");
}

?>

上面的例子将输出:

代码语言:javascript
复制
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 →

扫码关注腾讯云开发者

领取腾讯云代金券