#12 PHPで学ぶファイル読み書きの基本
PHPのファイル操作は、Webサイトのデータ保存など、実務でもよく使われる機能です。この記事では、PHPにおけるファイル操作の基本と、実務で気をつけたいポイントを解説します。
ファイルを読み込む
$content = file_get_contents("data.txt");
echo $content;
`file_get_contents`はファイルの中身をまるごと1つの文字列として読み込みます。手軽な反面、非常に大きなファイルを読み込むとメモリを大量に消費するため注意が必要です。
ファイルに書き込む
file_put_contents("data.txt", "こんにちは");
デフォルトでは、既存のファイルの中身を上書きします。追記したい場合は、第3引数に`FILE_APPEND`フラグを指定します。
file_put_contents("log.txt", "追記内容\n", FILE_APPEND);
1行ずつ読み込む
$lines = file("data.txt");
foreach ($lines as $line) {
echo $line;
}
`file()`という関数を使うと、ファイルの中身を1行ごとの配列として一度に取得できます。大きなファイルをメモリ効率よく処理したい場合は、`fopen`と`fgets`を組み合わせて1行ずつ順番に処理する方法もあります。
$handle = fopen("data.txt", "r");
while (($line = fgets($handle)) !== false) {
echo $line;
}
fclose($handle);
ファイルの存在確認
ファイル操作の前に、対象のファイルが存在するかどうかを確認しておくと、意図しないエラーを防げます。
if (file_exists("data.txt")) {
$content = file_get_contents("data.txt");
}
PHPならではの注意点
PHPの実行環境(Webサーバー)によっては、ファイルの読み書きに必要な権限(パーミッション)が制限されていることがあります。「ファイルが見つかりません」ではなく「権限がありません」というエラーが出た場合は、フォルダやファイルの権限設定を確認してみましょう。また、`fopen`で開いたファイルは、処理が終わったら必ず`fclose`で閉じる習慣をつけることが大切です。閉じ忘れると、同時に開けるファイル数の上限に達してエラーになったり、書き込んだ内容が正しく保存されなかったりすることがあります。
まとめ
PHPのファイル操作は`file_get_contents`・`file_put_contents`が基本です。大きなファイルには`fopen`/`fgets`を、書き込み前にはファイルの存在確認や実行環境の権限設定にも注意しておきましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
PHPをもっと学びたい方には「10日でおぼえるPHP入門教室 第4版」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿