首页
学习
活动
专区
工具
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 →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com