PHP: ファイルの先頭行を削除する

ファイルの先頭行を削除

PHPでファイルの先頭行を削除したい場合は、 次のようなロジックで実現できます。

  • ファイルの内容を配列として取得
  • array_shift()を使って配列の先頭を取り除く
  • 配列の内容をファイルに書き込む

ファイル内容を配列として取得すると簡単に先頭行の削除が実現できます。

PHPコード

<?php

// -------------------------------
// ファイルの先頭行を削除する
//
function f_del_first_row($file_name) {

    // 配列として取得
    $arr = file($file_name);

    if (count($arr) == 0) {
        return;
    }

    // 配列の先頭を削除
    array_shift($arr);

    // 上書き書き込み
    $re = file_put_contents($file_name, "");

    foreach($arr as $value) {

        // 追加書き込み FILE_APPEND
        $re = file_put_contents($file_name, $value, FILE_APPEND);

    }

}

// 使用例
$file_name = "a.txt";

f_del_first_row($file_name);

PHP