Protocols and Wrapper in PHP

There are various inbuilt wrapper for a different type of URL- style protocols in PHP. These wrappers are used in many other file system functions. Registration of custom wrapper is also allowed in PHP. It can be done so through stream_wrapper_register() function.

In PHP the URL syntax supported is scheme:// 

The URL syntax not supported in PHP are:

  • scheme:/
  • scheme:

There are 12 wrapper in PHP.

Wrapper Work Description
file:// Local file system is accessed through it This default wrapper in PHP is representing local file system. 
http:// HTTP(s) URLs is accessed through it The mentioned relative path is applied against present working directory.
ftp:// FTP(s) URLs is accessed through it New files are created and earlier ones are accessed through FTP. If passive mode FTP is not supported by the server then there is a fail in connection.
php:// Multiple type of I/O streams is accessed through it I/O error file descriptors, streams, inmemory can be read and written through other I/O streams. 
zlib:// Streams are compressed Works in a similar manner as gzopen(), except the fact that other file system functions can be used with it.
data:// Data (RFC 2397) Reading contents or media type which can be later printed.
glob://  Finding pathnames such that it matches the pattern The most common use includes searching over the directory and printing a file’s name and size.
phar://  Archive in PHP Read and write can be performed individually as well as simultaneously but cannot be appended.
ssh2:// Shell 2 is secured This wrapper is not available by default in PHP, for accessing it  SSH2 extension needs to be downloaded.
rar:// RAR The URL path(encoded) is taken to RAR archive where RAR can be relative or absolute. Other optional things that are stored in archive are – asterik(*), number sign(#) and entry name. Both directories and files are accessable through it.
ogg:// Audio stream  The ogg:// wrapper opens the file that are compressed audio that have been encoded through OGG/Vorbis codec. Even if the files are appended they are  compressed audio. This wrapper is not available by default in PHP, for accessing it  OGG/Vorbis  extension needs to be downloaded.
expect:// Interaction streams are processed  This wrapper makes stderr, process’es stdio and stdout accessable. This wrapper is not available by default in PHP, for accessing it Expect  extension needs to be downloaded.  
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.