php でファイル内の行を削除する方法: まず、ファイルを 1 行ずつ配列に読み取り、次に配列を走査し、配列内の各要素の値を保存する文字列に追加します。処理済み 削除する行は読み込まれず、最後にファイルを保存するだけです。
ファイルを配列に 1 行ずつ読み込み、配列を走査して、配列の各要素の値を保存する文字列に追加します。処理後、削除対象行の配列要素に対応する値は読み込まれず、最終的にファイルが保存されます。
(学習ビデオの推奨: java ビデオ チュートリアル)
実装方法:
$num=2; //要删除的行序号 $fp=file("test.txt"); $total=count($fp); //取得文件总行数 foreach ($fp as $line) { //按行分解内容并 $tmp[]=$line; //逐行写入数组 } for($i=0;$i<$total;$i++){ //若$i的值不等于要删除的行序号 if($i<>$num) $savestr.=$tmp[$i]; } //写入文件 $fp=fopen("test.txt","w"); fwrite($fp,$savestr); fclose($fp);
上記の PHP プログラムを実行すると、test.txt が削除されます。ファイル 3行目。ファイルの行シーケンス番号は、通常理解されている 1 からではなく、0 から始まります。これは、配列要素の添字番号と同じです。
明確にする必要がある問題があります。それは、いわゆる「ライン」の概念です。メモ帳を使用してファイルを作成しましょう。行が終了したら、Enter キーを押すか、入力しないでください。ファイルを保存すると、ファイルには 1 行が含まれます。行を入力して Enter キーを押し、別の行を入力すると、保存後のファイルには 2 行が表示されます。メモ帳では、形式を「自動折り返し」に設定すると、テキスト行が右端に達すると自動的に折り返されますが、2 行ではなく 1 行のままです。
メモ帳では、テキストがどれだけ多くても、また形式が「自動行折り返し」であっても、復帰文字がなければ 1 行しか入力できません。つまり、行マークはキャリッジ リターン文字 (PHP では「\r\n」と表記されます) です。
上記のプログラムを変更すると、ファイル内の空の行 (スペースと復帰のみの行、または復帰のみの行) をすべて簡単に削除することもできます。配列を走査して保存されたファイルを読み取るときに、トリム検出を使用します。 string.各配列要素
for($i=0;$i<$total;$i++){ if(trim($tmp[$i])<>"") $savestr.=$tmp[$i]; }
このプログラムはファイル内のすべての空白行を削除しますが、ファイルの最後の行が空白行の場合は、空白文字 (存在する場合) をクリアし、キャリッジを保持します。リターン文字 (ファイルの終わりへのポインタとして使用されます)。
関連する推奨事項: php トレーニング
以上がPHPでファイル内の行を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。