Streams are
    the way of generalizing file, network, data compression, and other
    operations which share a common set of functions and uses.  In
    its simplest definition, a stream is a 
    resource object which exhibits streamable 
    behavior.  That is, it can be read from or written to in a linear 
    fashion, and may be able to fseek() to an
    arbitrary location within the stream.
   
    A wrapper is additional code which tells the stream how to handle
    specific protocols/encodings.  For example, the http
    wrapper knows how to translate a URL into an HTTP/1.0
    request for a file on a remote server.  There are many wrappers
    built into PHP by default (See Supported Protocols and Wrappers),
    and additional, custom wrappers may be added either within a
    PHP script using stream_wrapper_register(),
    or directly from an extension.
    Because any variety of wrapper may be added to PHP, 
    there is no set limit on what can be done with them.  To access the list
    of currently registered wrappers, use stream_get_wrappers().
   
    A stream is referenced as: scheme://target
    
scheme(string) -
       The name of the wrapper to be used.  Examples include: file, 
       http, https, ftp, ftps, compress.zlib, compress.bz2, and php.  See 
       Supported Protocols and Wrappers for a list of PHP built-in wrappers.  If
       no wrapper is specified, the function default is used (typically
       file://).
      
     target - 
       Depends on the wrapper used.  For filesystem related streams this is
       typically a path and filename of the desired file.  For network related 
       streams this is typically a hostname, often with a path appended.  Again, see
       Supported Protocols and Wrappers for a description of targets for built-in streams.