Stream Wrapper

A wrapper is additional code which tells the stream how to handle specific protocols/encodings.

PHP supports several wrappers natively, in particular file://, http://, ftp://, php://, zlib://, data://, glob://, phar://, ssh2://, rar://, ogg:// and expect://.

Customs wrappers may be registered with stream_wrapper_register(). A wrapper may write in any kind of format.

<?php

// opening a file with the file wrapper
$fp = fopen(file://tmp/myfile.txt, r+);

// opening a file with the ftp wrapper
$fp = fopen(ftp://user:password@example.com/pub/file.txt, r+);

// opening a file with the phar wrapper
$fp = fopen(phar://someFile.txt, r+);

?>

Documentation

See also A Guide to Streams in PHP: In-Depth Tutorial With Examples, Supported Protocols and Wrappers, stream_wrapper_register, Example class registered as stream wrapper

Related : Protocol, Stream