ファイルの読み込み・書き込みを行う方法
ファイルの読み込み
ファイルの準備
実行ファイルと同じ階層に「test.txt」というファイルを作成します。
ファイルの中身は「Hello World」と記述しておきます。
読み込み
// ファイル読み込み
$file_name = "test.txt";
// ファイルポインタを読み込み専用で開く
$fp = fopen($file_name, "r");
// ファイルサイズ分の読み込み
$file_content = fread($fp, filesize($file_name));
// ファイルポインタを閉じる
fclose($fp);
// 出力
var_dump($file_content);
出力結果
string(11) "Hello World"
ファイルの書き込み
書き込み
// ファイル名を指定(存在しない場合は新規で作成される)
$file_name = "test_2.txt";
// ファイルポインタを書き込み専用で開く(上書き)
$fp = fopen($file_name, "w");
// ファイルに書き込みを行う
$result = fwrite($fp, '書き込みテスト');
// ファイルポインタを閉じる
fclose($fp);
// fwriteの戻り値を出力
var_dump($result);
出力結果
int(24)
ポイント
「fwrite」の返り値は書き込みを行った文字列のバイト数になります。
書き込みに失敗した場合「false」が返るので、エラー判定に使用しましょう。
オプション
意味 | |
---|---|
r | 読み込み専用。ファイルポインタをファイルの先頭に置きます。 |
r+ | オプション「r」に書き込み権限が追加されたものになります。 |
w | 書き込み専用(上書き)。ファイルポインタをファイルの先頭に置きます。 ファイルの中身を消して、書き込みを行います。ファイルがない場合は作成します。 |
w+ | オプション「w」に読み込み権限が追加されたものになります。 |
a | 書き込み専用(追記)。ファイルポインタをファイルの終端に置きます。 追記という形で書き込みを行います。ファイルがない場合は作成します。 |
a+ | オプション「a」に読み込み権限が追加されたものになります。 |
x | 書き込み専用(新規)。ファイルポインタをファイルの先頭に置きます。 ファイルが既に存在する場合にはエラーを返します。 ファイルが存在しない場合は作成します。 |
x+ | オプション「x」に読み込み権限が追加されたものになります。 |
ポイント
オプションに「+」が追加されると、
書き込み・読み込みどちらかの権限が追加されるようです。
また、オプションによっては追記ではなく上書きされてしまう点に注意してください。
バックアップが無い場合はとんでもないことになるので、オプションの指定はしっかりと確認しましょう。