filenameが"http://"(大文字小文字は区別しません) で始まっている場合、指定されたサーバに対するHTTP 1.0コネクションが オープンされ、HTTP GETメソッドを用いてそのページがリクエストされ、 返された応答の本体の先頭を指すファイルポインタが返されます。 名前に基づく仮想ホストを処理するために'Host:' ヘッダが、リクエストで 送信されます。
ファイルポインタによりレスポンスの本体のみを 取得することが可能であることに注意して下さい。この関数を用いて HTTPレスポンスにアクセスすることはできません。
PHP 4.0.5 より前のバージョンは、HTTPリダイレクトを処理しませんでし た。このため、ディレクトリは末尾にスラッシュを含む必要がありました。
filenameが"ftp://"(大文字小文字は区別しません) で始まっている場合、指定されたサーバに対する FTPコネクションがオープンされ、要求したファイルへのポインタが 返されます。そのサーバがパッシブ・モードFTPをサポートして いない場合は、この関数は失敗します。 ftp経由で読みこみまたは書きこみのどちらかでファイルオープンする ことが可能です、(しかし、同時に両方を行うことはできません。)
filenameが"php://stdin","php://stdout", "php://stderr"のどれかで始まっている場合、対応するstdioストリームが オープンされます。 (この機能はPHP 3.0.13で導入されました。これ以前のバージョンでは、 stdioストリームにアクセスするために "/dev/stdin"または"/dev/fd/0"のようなファイル名を使用する必要があります。)
filenameが上記以外の場合、指定された ファイルがファイルシステムよりオープンされ、そのオープンされた ファイルへのファイルポインタが返されます。
オープンに失敗すると、この関数はFALSEを返します。
modeは次のどれかになります。
'r' - 読みこみのみでオープンします。ファイルポインタをファイルの 先頭に置きます。
'r+' - 読みこみ・書きこみ用にオüプンします。ファイルポインタを ファイルの先頭に置きます。
'w' - 書きこみの?gオープンします。ファイルポインタをファイルの 先頭に置き、ファイルサイズをゼロにします。ファイルが存在しない 場合には、作成を試みます。
'w+' - 読みこみ・書きこみ用でオープンします。ファイルポインタを ファイルの先頭に置き、ファイルサイズをゼロにします。 ファイルが存在しない場合には、作成を試みます。
'a' - 書きこみのみでオープンします。ファイルポインタをファイルの 終端に置きます。ファイルが存在しない場合には、作成を試みます。
'a+' - 読みこみ・書きこみ用でオープンします。ファイルポインタを ファイルの終端に置きます。ファイルが存在しない場合には、作成を 試みます。
オプションの2番目の引数を使用して、これに"1"を設定する ことにより、include_path のファイルの検索も行うこともできます。
ファイルの読みこみ・書きこみ時に問題が発生し、 サーバーモジュール版のPHPを使用している場合、 使用するファイル・ディレクトリがサーバープロセスからアクセス可能 かどうかを確認してみてください。
Windows 環境では、ファイルパスで用いる全てのバックスラッシュを エスケープするかフォワードスラッシュを使用することに注意して下さい。
fclose(),fsockopen(), socket_set_timeout(),popen() も参照下さい。