fopen

(PHP 3, PHP 4 )

fopen -- ファイルまたはURLをオープンする

説明

int fopen (string filename, string mode [, int use_include_path])

filenameが"http://"(大文字小文字は区別しません) で始まっている場合、指定されたサーバに対するHTTP 1.0コネクションが オープンされ、その応答テキストの先頭を指しているファイルポインタが 返されます。

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は次のどれかになります。

mode は文字'b'を指定することもできます。 これはバイナリとテキストのファイル形式が異なるシステムでのみ有効です。 (つまり、UNIXでは不要です。)必要がない場合、無視されます。

オプションの2番目の引数を使用して、これに"1"を設定する ことにより、include_path のファイルの検索も行うこともできます。

例 1. fopen()の例


$fp = fopen ("/home/rasmus/file.txt", "r");
$fp = fopen ("/home/rasmus/file.gif", "wb");
$fp = fopen ("http://www.php.net/", "r");
$fp = fopen ("ftp://user:password@example.com/", "w");
      

ファイルの読みこみ・書きこみ時に問題が発生し、 サーバーモジュール版のPHPを使用している場合、 使用するファイル・ディレクトリがサーバープロセスからアクセス可能 かどうかを確認してみてください。

Windows 環境では、ファイルパスで用いる全てのバックスラッシュを エスケープするかフォワードスラッシュを使用することに注意して下さい。


$fp = fopen ("c:\\data\\info.txt", "r");
      

fclose(),fsockopen(), socket_set_timeout(),popen() も参照下さい。