Socket

This section contains the context options supported by the wrappers that work over sockets, like tcp, http or ftp.

As of PHP 5.1.0 only one option is supported, bindto, which can be used to specify the IP address (either IPv4 or IPv6) and/or the port number that PHP will use to access the network. The syntax is ip:port (you can set the IP or the port number to 0 if you want to let the system choose them for you).

Note: As FTP creates two socket connections during normal operation, you cannot specify the port number in the bindto option. So, the only supported syntax is ip:0 for the FTP wrapper.

Example M-1. Some examples of how to use the bindto option

<?php
// connect to the internet using the '192.168.0.100' IP
$opts = array('socket' =>
            array(
'bindto' => '192.168.0.100:0'));


// connect to the internet using the '192.168.0.100' IP and port '7000'
$opts = array('socket' =>
            array(
'bindto' => '192.168.0.100:7000'));


// connect to the internet using port '7000'
$opts = array('socket' =>
            array(
'bindto' => '0:7000'));


// create the context...
$context stream_context_create($opts);

// ...and use it to fetch the data
echo file_get_contents('http://www.example.com'false$context);

?>