search for in the  
<List of Resource TypesHTTP and HTTPS>
Last updated: Thu, 19 May 2005

Appendix L. 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 4.3.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

file:// 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 L-1. Wrapper Summary

AttributeSupported
Restricted by allow_url_fopen.No
Allows ReadingYes
Allows WritingYes
Allows AppendingYes
Allows Simultaneous Reading and WritingYes
Supports stat()Yes
Supports unlink()Yes
Supports rename()Yes
Supports mkdir()Yes
Supports rmdir()Yes



User Contributed Notes
List of Supported Protocols/Wrappers
chris at free-source dot com
26-Apr-2005 03:52
If you're looking for a unix based smb wrapper there isn't one built in,  but I've had luck with http://www.zevils.com/cgi-bin/viewcvs.cgi/libsmbclient-php/ (tarball link at the end).
nargy at yahoo dot com
24-Sep-2004 06:16
When opening php://output in append mode you get an error, the way to do it:
$fp=fopen("php://output","w");
fwrite($fp,"Hello, world !<BR>\n");
fclose($fp);
aidan at php dot net
27-May-2004 06:34
The contants:

* STDIN
* STDOUT
* STDERR

Were introduced in PHP 4.3.0 and are synomous with the fopen('php://stdx') result resource.
lupti at yahoo dot com
29-Nov-2003 05:04
I find using file_get_contents with php://input is very handy and efficient. Here is the code:

$request = "";
$request = file_get_contents("php://input");

I don't need to declare the URL filr string as "r". It automatically handles open the file with read.

I can then use this $request string to your XMLparser as data.
spam at vrana dot cz
16-Oct-2003 06:28
Both php://input and $HTTP_RAW_POST_DATA are empty after submiting <form method="post" enctype="multipart/form-data">. As http://bugs.php.net/bug.php?id=23765 say, it's not a bug, it's a feature...
sam at bigwig dot net
15-Aug-2003 11:02
[ Editor's Note: There is a way to know.  All response headers (from both the final responding server and intermediate redirecters) can be found in $http_response_header or stream_get_meta_data() as described above. ]

If you open an HTTP url and the server issues a Location style redirect, the redirected contents will be read but you can't find out that this has happened.

So if you then parse the returned html and try and rationalise relative URLs you could get it wrong.
manuzhai (AT) php (DOT) net
07-Jan-2003 02:58
To get the https wrapper working on Windows, you need to replace your php4ts.dll with the one provided at http://ftp.emini.dk/pub/php/win32/openssl/ . This is instead of using the php_openssl.dll, so be sure to comment this extension in your php.ini.

<List of Resource TypesHTTP and HTTPS>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 18:35:34 2005 EDT