HTTP_PUT_STREAM(3) 1 HTTP_PUT_STREAM(3)http_put_stream - Perform PUT request with streamSYNOPSIS
string http_put_stream (string $url, resource $stream, [array $options], [array &$info])
DESCRIPTION
Performs an HTTP PUT request on the supplied url.
See the full list of request options.
PARAMETERS
o $url
- URL
o $stream
- The stream to read the PUT request body from
o $options
-request options
o $info
-Request/response information
RETURN VALUES
Returns the HTTP response(s) as string on success, or FALSE on failure.
PHP Documentation Group HTTP_PUT_STREAM(3)
Check Out this Related Man Page
HTTP-CONTEXT-OPTIONS(3) 1 HTTP-CONTEXT-OPTIONS(3)HTTP context options - HTTP context option listing
Context options for http:// and https:// transports.
o $method
string - GET, POST, or any other HTTP method supported by the remote server. Defaults to GET.
o $header
string - Additional headers to be sent during request. Values in this option will override other values (such as User-agent:,
Host:, and Authentication:).
o $user_agent
string - Value to send with User-Agent: header. This value will only be used if user-agent is not specified in the header context
option above. By default the user_agent php.ini setting is used.
o $content
string - Additional data to be sent after the headers. Typically used with POST or PUT requests.
o $proxy
string - URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100).
o $request_fulluri
boolean - When set to TRUE, the entire URI will be used when constructing the request. (i.e. GET http://www.exam-
ple.com/path/to/file.html HTTP/1.0). While this is a non-standard request format, some proxy servers require it. Defaults to
FALSE.
o $follow_location
integer - Follow Location header redirects. Set to 0 to disable. Defaults to 1.
o $max_redirects
integer - The max number of redirects to follow. Value 1 or less means that no redirects are followed. Defaults to 20.
o $protocol_version
float - HTTP protocol version. Defaults to 1.0.
Note
PHP prior to 5.3.0 does not implement chunked transfer decoding. If this value is set to 1.1 it is your responsibility to be
1.1 compliant.
o $timeout
float - Read timeout in seconds, specified by a float (e.g. 10.5). By default the default_socket_timeout php.ini setting is
used.
o $ignore_errors
boolean - Fetch the content even on failure status codes. Defaults to FALSE.
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.3.4 | |
| | |
| | Added $follow_location. |
| | |
| 5.3.0 | |
| | |
| | The $protocol_version supports chunked transfer |
| | decoding when set to 1.1. |
| | |
|5.2.10 | |
| | |
| | Added $ignore_errors. |
| | |
|5.2.10 | |
| | |
| | The $header can now be an numerically indexed |
| | array. |
| | |
| 5.2.1 | |
| | |
| | Added $timeout. |
| | |
| 5.1.0 | |
| | |
| | Added HTTPS proxying through HTTP proxies. |
| | |
| 5.1.0 | |
| | |
| | Added $max_redirects. |
| | |
| 5.1.0 | |
| | |
| | Added $protocol_version. |
| | |
+--------+---------------------------------------------------+
Example #1
Fetch a page and send POST data
<?php
$postdata = http_build_query(
array(
'var1' => 'some content',
'var2' => 'doh'
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://example.com/submit.php', false, $context);
?>
Example #2
Ignore redirects but fetch headers and content
<?php
$url = "http://www.example.org/header.php";
$opts = array('http' =>
array(
'method' => 'GET',
'max_redirects' => '0',
'ignore_errors' => '1'
)
);
$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);
// header information as well as meta data
// about the stream
var_dump(stream_get_meta_data($stream));
// actual data at $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>
Note
Underlying socket stream context options
Additional context options may be supported by the underlying transport For http:// streams, refer to context options for the
tcp:// transport. For https:// streams, refer to context options for the ssl:// transport.
Note
HTTP status line
When this stream wrapper follows a redirect, the wrapper_data returned by stream_get_meta_data(3) might not necessarily contain the
HTTP status line that actually applies to the content data at index 0.
array (
'wrapper_data' =>
array (
0 => 'HTTP/1.0 301 Moved Permantenly',
1 => 'Cache-Control: no-cache',
2 => 'Connection: close',
3 => 'Location: http://example.com/foo.jpg',
4 => 'HTTP/1.1 200 OK',
...
The first request returned a 301 (permanent redirect), so the stream wrapper automatically followed the redirect to get a 200
response (index = 4).
"http://", "Socket context options", "SSL context options".
PHP Documentation Group HTTP-CONTEXT-OPTIONS(3)