※ ChatGPTを利用し、要約された質問です(原文:textファイルについて)
textファイルについての質問とその解決方法
このQ&Aのポイント
ディレクトリー内にあるtest.txtとaaa.txtという2つのテキストファイルを開き、test.txtの3行目に「http://www.goo.ne.jp/」、aaa.txtの10行目にも「http://www.goo.ne.jp/」が含まれる場合、aaa.txtの10行目を削除したいです。しかし、 aaa.txtの10行目を空にする方法がわかりません。詳しい方、ご教示いただけないでしょうか?
質問者は、ディレクトリー内にある2つのテキストファイルを開き、特定の条件に合う場合に行を削除したいと考えています。しかし、行を削除する際に空にする方法がわからず困っています。質問者はスクリプトを投稿しており、削除の部分を詳細に説明してほしいと求めています。
質問者は、ディレクトリー内のテキストファイルの特定の行を削除する方法を求めています。具体的には、あるテキストファイルの指定された行を削除するための方法が知りたいと考えています。質問者は、削除する行を空にする方法がわからないため、質問を投稿しています。
あるディレクトリーに
test.txt
aaa.txt
があるのですが、
二つのテキストを開いて
もし
text.txtの3行目に
http://www.goo.ne.jp/
があり
aaa.txtの10行目にも
http://www.goo.ne.jp/
があるとすれば
aaa.txtの10行目を消したいのですが、
そんな事って可能ですか??
色々考えたのですが、aaa.txtの10行目を消す時に
10行目を空にすると言う指定が出来なくて困ってます。
どうしてもaaa.txtの削除が出来ません。
参考までにスクリプトを載せておきます
<?php
$file_name = array("aaa.txt", "test.txt");
$list = fopen($file_name[0], "a+");
$delete_list = fopen($file_name[1], "r");
$listfile = file($file_name[0]);
$listmax = count($listfile);
$listfile = file($file_name[1]);
$delete_listmax = count($listfile);
if ($delete_listmax > 0){
for ($delete_line = 1; !feof($delete_list); $delete_line++){
$delete_lines = fgets($delete_list);
$delete_lines = trim($delete_lines);
if ($delete_lines){
if (is_file($file_name[0])){
for ($line = 1; !feof($list); $line++){
$lines = fgets($list);
$lines = trim($lines);
if ($lines){
if ($delete_lines == $lines){
//ここの部分がわからないです
fputs($list, "あああ");
echo "O,K\n";
}
}
}
}
}
}
}
fclose($delete_list);
fclose($list);
echo "\n終了\n";
?>
詳しい方がいましたら宜しくお願いします
補足
UmJammerさん回答有難う御座います aaa.txtの削除したい行以外をaaa.txtに上書きすると言う事ですか?? そんな事ができるのですか??