int fopen
(string filename, string mode, int [use_include_path]);filename が "http://" (大文字小文字は 区別しません)で始まっている場合、指定されたサーバに対する HTTP 1.0 コネクションがオープンされ、その応答テキストの先頭を 指しているファイルポインタが返されます。
HTTP リダイレクトは処理されないので、ディレクトリを指定する場合は 末尾にスラッシュを付けなければなりません。
filename が "ftp://" (大文字小文字は 区別しません)で始まっている場合、指定されたサーバに対する FTP コネクションがオープンされ、要求したファイルへのポインタが 返されます。そのサーバがパッシブ・モード FTP をサポートして いない場合は、この関数は失敗します。 ftp 経由で読みこみまたは書きこみのどちらかでファイルをオープンする ことが可能�すエWかし、同時に両方を行うことはできません。)
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 のファイルの検索も行うことができます。
例 1. fopen() の例
|
ファイルの読みこみ・書きこみ時に問題が発生し、 サーバーモジュール版の PHP を使用している場合、 使用するファイル・ディレクトリがサーバープロセスからアクセス可能 かどうかを確認してみてください。
Windows 環境では、ファイルパスで用いる全てのバックスラッシュを エスケープするかフォワードスラッシュを使用することに注意して下さい。
1 2 $fp = fopen("c:\\data\\info.txt", "r"); 3 |
参照:fclose(), fsockopen(), popen()