PHPでファイルの書き込みを行う方法
PHPでファイルの書き込みを行うには「fputs()」関数と使用する方法と「file_put_contents()」関数を使用する方法があります。
それでは、fputs関数とfile_put_contents関数の使い方を説明していきます。
fputs関数でファイルの書き込みを行う
「fputs()」関数でファイルの書き込みを行う場合は、まず「fopen()」関数で対象のファイルを指定します。このときオプションが「w」であれば書き出しモードとなり、ファイルが存在しなければ新規にファイルを作成します。(ファイルがあれば上書きする)
そして「fputs()」関数でファイルに書き込みをおこなった後、「fclose()」関数でオープンしたファイルを閉じます。
[ファイル新規作成 または 上書きの例]
<?php
$filename = 'C:\tmp\sample1.txt';
// ファイルを開く('w'は書き込みモード)
$fp = fopen($filename, 'w');
// ファイルに書き込む
$data = "あいうえお\n";
fputs($fp, $data);
// ファイルを閉じる
fclose($fp);
?>
既ファイルにデータを追記する場合は「fopen()」関数のオプションに「a」を指定します。「a」を指定することで追記モードとなり、ファイルにデータを追記します。(ファイルが存在しない場合は新規にファイルを作成する)
[ファイルに追記する場合の例]
<?php
$filename = 'C:\tmp\sample1.txt';
// ファイルを開く('a'は追記モード)
$fp = fopen($filename, 'a');
// ファイルに書き込む
$data = "かきくけこ\n";
fputs($fp, $data);
// ファイルを閉じる
fclose($fp);
?>
file_put_contents関数でファイルの書き込みを行う
「file_put_contents()」関数を使うと、ファイルのopenやcloseを指定しなくても、簡単にファイルに書き込めます。
[ファイル新規作成 または 上書きの例]
<?php
$filename = 'C:\tmp\sample2.txt';
// ファイルに書き込む内容
$data = "あいうえお\n";
// ファイルに書き込む
file_put_contents($filename, $data);
?>
既ファイルにデータを追記する場合は「file_put_contents()」関数の引数に「FILE_APPEND」を指定します。(ファイルが存在しない場合は新規にファイルを作成する)
[ファイルに追記する場合の例]
<?php
$filename = 'C:\tmp\sample2.txt';
// ファイルに追記する内容
$data = "かきくけこ\n";
// ファイルに書き込む(FILE_APPENDフラグはファイルの最後に追記する)
file_put_contents($filename, $data, FILE_APPEND);
?>
また書き込み処理中に、ファイルに対する排他ロックを確保する場合は、次のように「LOCK_EX」を指定します。
file_put_contents($filename, $data, FILE_APPEND | LOCK_EX);
helpful
この記事は役に立ちましたか?