fopen、fwrite、fprint、fread および fclose コマンドを使用して、ファイルを操作できます。
ファイルの読み書きをする前に、fopen 関数を使用してファイルを開く必要があります。
fopen はファイル ハンドルを返します。ファイル ハンドルは開いているファイルを表します。fprint などの他のコマンドを使用して開いているファイルを操作できるように、この値を変数に保存する必要があります。
$fileId = fopen($exampleFileName,"r");
読み込む目的でファイルを開くと、次のコマンドのいずれかを使用してファイルのデータを実際に読むことができます。
目的 | 使用するコマンド |
---|---|
行を読み込む(次の改行まで読み込む) |
fgetline(fileID) |
単語を読み込む(次の空白まで読み込む) |
fgetword(fileID) |
1 つの値を読み込む |
fread(fileID、type) |
// 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);
}
空のファイルを開いた場合は、ファイルの読み込みが少なくとも 1 回実行されるまで、ファイルの終わりに到達したことは検知されません。
書き込みや追加の目的でファイルを開くと、次のコマンドのいずれかを使用してファイルに対して実際にデータの書き込みを行うことができます。
目的 | 使用するコマンド |
---|---|
print コマンドと同等のコマンドを使用してファイルに出力する |
fprint(fileID、string) |
バイナリ データを書き込む |
fwrite(fileID、value) |
$fileId = fopen($exampleFileName,"w");
fprint($fileId,"Hello there\n");
fclose($fileId);
fwrite コマンドは、データの引数をバイナリ形式でファイルに書き込みます。このコマンドが書き込む文字列は、NULL 文字で終わる ASCII 文字です。末尾に NULL 文字が必要な場合以外は、テキスト ファイルや raw バイトの書き込みに fwrite を使用しないでください。