ファイルを読み書きする

fopenfwritefprintfreadfclose コマンドを使用して、ファイルを操作できます。

ファイルを開く

ファイルの読み書きをする前に、fopen 関数を使用してファイルを開く必要があります。

fopen は 2 つの文字列を引数に持ちます。

fopen はファイル ハンドルを返します。ファイル ハンドルは開いているファイルを表します。fprint などの他のコマンドを使用して開いているファイルを操作できるように、この値を変数に保存する必要があります。

$fileId = fopen($exampleFileName,"r");

ファイルから読み込む

読み込む目的でファイルを開くと、次のコマンドのいずれかを使用してファイルのデータを実際に読むことができます。

目的 使用するコマンド

行を読み込む(次の改行まで読み込む)

fgetline (ファイル ID)

単語を読み込む(次の空白まで読み込む)

fgetword (ファイル ID)

1 つの値を読み込む

fread (ファイル ID、型)

例:

// Read a file one line at a time
$fileId=fopen($exampleFileName,"r");
string $nextLine = `fgetline $fileId`;
while ( size( $nextLine ) > 0 ) {
	print ( $nextLine );
	$nextLine = `fgetline $fileId`;
}

ファイルの終わりを調べる

feof <fileID>関数は、ファイルの終わりに達すると 0 以外の値を返します。

string $nextWord = `fgetword $fileId`;
while ( !feof($fileId) ) {
 	print ( $nextWord + "\n" );
 	$nextWord = fgetword($fileId);
}

空のファイルを開いた場合は、feof はファイルの読み込みが少なくとも 1 回実行されるまで、ファイルの終わりに到達したことを検知しません。

ファイルに書き込む

書き込みや追加の目的でファイルを開くと、次のコマンドのいずれかを使用してファイルに対して実際にデータの書き込みを行うことができます。

目的 使用するコマンド

print コマンドと同等のコマンドを使用してファイルに出力する

fprint (ファイル ID、文字列)

バイナリ データを書き込む

fwrite (ファイル ID、値)

例:

$fileId = fopen($exampleFileName,"w");
fprint($fileId,"Hello there\n");
fclose($fileId);

fwrite コマンドはデータの引数をバイナリ フォーマットでファイルに書き込みます。このコマンドが書き込む文字列は、NULL 文字で終わる ASCII 文字です。末尾に NULL 文字が必要な場合以外は、テキスト ファイルや raw バイトの書き込みに fwrite を使用しないでください。

開いたファイルを管理する

ファイルを閉じずに書き込みバッファをクリアするには、fflush(ファイル ID)を使用します。

ファイル位置ポインタをファイルの始めにリセットするには、frewind(ファイル ID)を使用します。

開いたファイルを閉じる

開いたファイルを閉じるには、fclose(ファイル ID)を使用します。