牛牛在线工具

stream_wrapper_unregister()

收录 8868 个 PHP 函数,含用途说明与用法示例。

stream_wrapper_unregister()

注销先前由 stream_wrapper_register() 注册的自定义流封装器

函数名称: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()函数将自定义流封装器注销。 在注销后,再次尝试使用已注销的自定义流封装器时,会返回失败,并输出相应的错误信息。