ソケット

ここでは、ソケット越しに動作するラッパー すなわち tcphttp あるいは ftp でサポートされるオプションを扱います。

PHP 5.1.0 以降、ひとつのオプション bindto のみが サポートされます。これは PHP がネットワークにアクセスする際の IP アドレス (IPv4 あるいは IPv6 のどちらか)やポート番号を指定する際に使用されます。 その書式は ip:port(IP やポート番号に 0 を指定すると、それをシステムに自動的に設定させる ことができます)です。

注意: FTP の通常の操作では 2 つのソケット接続を使用するので、 bindto オプションでポート番号を指定することができません。 そのため、FTP ラッパーでサポートされる唯一の書式は ip:0 となります。

例 O-1. bindto オプションの使用例

<?php
// IP アドレス '192.168.0.100' でインターネットに接続する
$opts = array('socket' =>
            array(
'bindto' => '192.168.0.100:0'));


// IP アドレス '192.168.0.100' とポート番号 '7000' でインターネットに接続する
$opts = array('socket' =>
            array(
'bindto' => '192.168.0.100:7000'));


// ポート番号 '7000' でインターネットに接続する
$opts = array('socket' =>
            array(
'bindto' => '0:7000'));


// コンテキストを作成し…
$context = stream_context_create($opts);

// …そしてデータを取得するためにそれを使用する
echo file_get_contents('http://www.example.com', false, $context);

?>