函数名称:stream_wrapper_unregister()
适用版本:PHP 4 >= 4.3.2, PHP 5, PHP 7
函数描述:stream_wrapper_unregister() 函数用于注销先前由 stream_wrapper_register() 注册的自定义流封装器。
语法:bool stream_wrapper_unregister ( string $protocol )
参数:
- protocol:自定义流封装器的协议名称。
返回值:成功时返回 true,失败时返回 false。
示例:
// 自定义一个简单的流封装器类
class CustomWrapper {
private $position = 0;
private $data = "This is some sample data.";
public function stream_open($path, $mode, $options, &$opened_path) {
$this->position = 0;
return true;
}
public function stream_read($count) {
$result = substr($this->data, $this->position, $count);
$this->position += strlen($result);
return $result;
}
public function stream_eof() {
return $this->position >= strlen($this->data);
}
}
// 注册自定义流封装器
stream_wrapper_register("custom", "CustomWrapper");
// 使用自定义流封装器读取数据
$handle = fopen("custom://example.txt", "r");
echo fread($handle, 10); // 输出:This is som
// 注销自定义流封装器
stream_wrapper_unregister("custom");
// 再次尝试使用已注销的自定义流封装器
$handle = fopen("custom://example.txt", "r");
if (!$handle) {
echo "Failed to open custom stream."; // 输出:Failed to open custom stream.
}
在上述示例中,我们首先定义了一个名为CustomWrapper的自定义流封装器类。该类中包含了stream_open()、stream_read()和stream_eof()等方法,用于实现自定义流的打开、读取和判断是否到达文件末尾的功能。
接下来,我们使用stream_wrapper_register()函数将自定义流封装器注册到"custom"协议上。然后,通过fopen()函数打开了一个使用自定义流封装器的文件句柄,并使用fread()函数读取了前10个字符。最后,我们使用stream_wrapper_unregister()函数将自定义流封装器注销。
在注销后,再次尝试使用已注销的自定义流封装器时,会返回失败,并输出相应的错误信息。
免费实用的在线工具大全
热门工具排行榜