The streamWrapper class

Introduction

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

Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).

Note:

This is NOT a real class, only a prototype of how a class defining its own protocol should be.

Note:

Implementing the methods in other ways than described here can lead to undefined behaviour.

An instance of this class is initialized as soon as a stream function tries to access the protocol it is associated with.

Class synopsis

streamWrapper {
/* Properties */
public resource $context ;
/* Methods */
__construct ( )
__destruct ( )
public dir_closedir ( ) : bool
public dir_opendir ( string $path , int $options ) : bool
public dir_readdir ( ) : string
public dir_rewinddir ( ) : bool
public mkdir ( string $path , int $mode , int $options ) : bool
public rename ( string $path_from , string $path_to ) : bool
public rmdir ( string $path , int $options ) : bool
public stream_cast ( int $cast_as ) : resource
public stream_close ( ) : void
public stream_eof ( ) : bool
public stream_flush ( ) : bool
public stream_lock ( int $operation ) : bool
public stream_metadata ( string $path , int $option , mixed $value ) : bool
public stream_open ( string $path , string $mode , int $options , string &$opened_path ) : bool
public stream_read ( int $count ) : string
public stream_seek ( int $offset , int $whence  = SEEK_SET ) : bool
public stream_set_option ( int $option , int $arg1 , int $arg2 ) : bool
public stream_stat ( ) : array
public stream_tell ( ) : int
public stream_truncate ( int $new_size ) : bool
public stream_write ( string $data ) : int
public unlink ( string $path ) : bool
public url_stat ( string $path , int $flags ) : array
}

Properties

resource context

The current context, or null if no context was passed to the caller function.

Use the stream_context_get_options() to parse the context.

Note:

This property must be public so PHP can populate it with the actual context resource.

See Also

Table of Contents

© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/class.streamwrapper.php