« PHP:copy()関数 | メイン | PHP:fgetcsv()関数 »

2006年11月11日

PHP:fopen()関数・fclose()関数

fopen()関数:
ファイルを開いて、ファイルポインタを返します。
ファイルのオープンに成功した場合TRUEを、失敗した場合にはFALSEを返します。

fclose()関数:
オープンしたファイルポインタを閉じます。

fopen($filePath, $mode[, $intInc]);

$filePath:オープンするファイルのパスを指定します。

※「http://〜」のパスを指定した場合にはHTTP接続をオープン
※「ftp://〜」のパスを指定した場合にはFTP接続をオープン
※「php://stdin」「php://stout」「php://stderr」のパスを指定した場合には標準入出力ストリーム(PHP3.0.13以上)をオープン
※それ以外の場合にはファイルシステムからオープン(一番よく使います。)

$mode:ファイルのオープンモードを指定します。

ファイルのオープンモード一覧

r読み込みのみ
r+読み書き両用
w書き込みのみ(ファイルが存在しない場合には新規作成)
w+読み書き両用(ファイルが存在しない場合には新規作成)
a追加書き込み(ファイルが存在しない場合には新規作成)
a+読み込み、追加書き込み両用(ファイルが存在しない場合には新規作成)
bバイナリファイルの場合、指定する(Windows版のみ)

$intInc:(オプション)
1を指定した場合、php.iniのinclude_pathパラメータに記述されたディレクトリ(たとえば、/PEARなど)も検索します。

※Windows版では、ファイルのパスで使用する\を、エスケープするか置換する必要があります。
・方法1: 「\」を「/」に置換
・方法2: 「\」を「\\」としてエスケープ


$logFile = './log.dat';  //同一階層にあるlog.datを指定

if($fp = fopen("$logfile", 'a')){  //追加書き込みモードでオープン
    set_file_buffer($fp, 0);  //バッファを0にする
    flock($fp, LOCK_EX);  //排他ロック
    fwrite($fp, "test", 32000);  //ファイルに「test」と書き込み
    flock($fp, LOCK_UN);  //排他ロック解除
    fclose($fp);  //ファイルをクローズ
}

投稿者 wing : 2006年11月11日 16:10

コメント