PHP でテキストファイルから行数を指定して行削除する方法
PHP での行削除、とっても簡単だった。
// テキストファイルを全部読み込む
$myFile = file('example.txt');
// コレで「2行目」を削除できる
unset($myFile[1]);
// 書き込む
file_put_contents('example.txt', $myFile);
file()
という関数でごそっと中身を読み込むのだが、行ごとに配列に格納されるのが特徴。
似たような関数である file_get_contents()
は、全体を文字列として変数に格納するので、「改行コードで分割して配列に変換して、配列を操作しなきゃ〜」みたいに思っていたのだが、file()
関数なら最初から配列になっていた。
- 参考 : https://www.php.net/manual/ja/function.file.php
- 参考 : https://www.php.net/manual/ja/function.file-get-contents.php
そして、unset()
関数を使うと、指定した配列要素を削除できる。行削除になるので、空行として残ったりもしない。イイカンジ。