Stream context
Allows you to
add extra parameters to be used with streams.
$postVars = array(
'comment' => 'Test by stream',
'page_id' => '328',
'page_type' => '1',
);
$wrapperOptions = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($postVars, '', '&'),
'timeout' => 5,
)
);
$streamContext = stream_context_create($wrapperOptions);
echo file_get_contents("http://www.fanlafel.ro/add-comment", 0,
$streamContext);
You can create
socket servers and clients using the stream functions.
$socket = stream_socket_server("tcp://0.0.0.0:1037");
while ($conn = stream_socket_accept($socket)){
fwrite($conn, "Hello World");
fclose($conn);
}
fclose($socket);
$socket = stream_socket_client("tcp://0.0.0.0:1037");
if ($socket) {
while(!feof($socket)) {
echo fread($socket, 100);
}
fclose($socket);
}
Finally, we can
run our server just like any other PHP script.
$ php ./server.php
$ php ./client.php
Hello World
You
can add a filter to the beginning and end to a stream.
$socket = stream_socket_server("tcp://0.0.0.0:1037");
while ($conn = stream_socket_accept($socket)){
stream_filter_append($conn, '<span class='keyword_code'>string.toupper</span>');
stream_filter_append($conn, 'zlib.deflate');
fwrite($conn, "Hello World");
fclose($conn);
}
fclose($socket);
$socket = stream_socket_client("tcp://0.0.0.0:1037");
stream_filter_append($socket, 'zlib.inflate');
if ($socket) {
while(!feof($socket)) {
echo fread($socket, 100);
}
fclose($socket);
}