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

最終更新日:

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

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

PHPコード

<?php

// -------------------------------
// ファイルの先頭行を削除する
//
function delFirstRow($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";

delFirstRow($file_name);

?>