Internetドメイン(AF_INET)または Unixドメイン(AF_UNIX、TCPまたは UDPを使用)にてストリーム接続を初期化します。Internetドメインの場合、 hostnameのポートport へのTCPソケット接続がオープンされます。 UDP接続を行う際には、udp://hostnameのよう に明示的にプロトコルを指定する必要があります。Unixドメインの場合、 hostnameはソケットへのパスとして使用され、 port はこの場合0とする必要があります。 オプションのtimeoutにより接続システムコール がタイムアウトするまでの秒数を指定することが可能です。
fsockopen()は、ファイルポインタを返します。 このファイルポインタは、 (fgets(),fgetss(), fputs(), fclose(), feof()のような) 他のファイル関数で使用可能です。
コールに失敗した場合にはFALSEが返され、オプションの引数 errnoおよびerrstr が指定されている場合、システムコールconnect() で生じた実際のシステムレベルエラーを示すように設定されます。 errnoは0なのに関数がFALSEを返す場合、connect() をコールする前にエラーを発生したことを示します。 この場合、おそらくはソケットの初期化に原因があります。引数errno およびerrstrは参照渡しでなければならないことに注意してください。
環境によってはUNIXドメインまたはオプションの接続タイムアウトは利用 できません。
ソケットはデフォルトでブロックモードで開かれます。 socket_set_blocking()を使用して、 非ブロックモードに切換えることができます。
注意 timeout は PHP 3.0.9 でサポートされまし た。また、UDP のサポートは PHP 4で追加されました。