# Appendix O. List of Supported Protocols/Wrappers

The following is a list of the various URL style protocols that PHP has built-in for use with the filesystem functions such as fopen() and copy(). In addition to these wrappers, as of PHP 4.3.0, you can write your own wrappers using PHP script and stream_wrapper_register().

## Filesystem

All versions of PHP. Explicitly using file:// since PHP 5.0.0.

• /path/to/file.ext
• relative/path/to/file.ext
• fileInCwd.ext
• C:/path/to/winfile.ext
• C:\path\to\winfile.ext
• \\smbserver\share\path\to\winfile.ext
• file:///path/to/file.ext

Filesystem is the default wrapper used with PHP and represents the local filesystem. When a relative path is specified (a path which does not begin with /, \, \\, or a Windows drive letter) the path provided will be applied against the current working directory. In many cases this is the directory in which the script resides unless it has been changed. Using the CLI sapi, this defaults to the directory from which the script was called.

With some functions, such as fopen() and file_get_contents(), include_path may be optionally searched for relative paths as well.

### Table O.1. Wrapper Summary

AttributeSupported
Restricted by allow_url_fopenNo