php メソッドでファイルの最後の行を削除します。まず fopen() 関数を使用してファイルを開き、次に fgets() 関数を使用して、開いているファイルからコンテンツの行を読み取り、保存します。配列; 最後に array_pop() 関数を使用して、配列の最後の要素を削除するだけです。
関連関数:
(推奨チュートリアル: php graphictutorial)
fopen( )関数はファイルまたは URL を開きます。
fopen() が失敗すると、エラー メッセージとともに FALSE が返されます。関数名の前に「@」を追加すると、エラー出力を非表示にできます。
fgets() 関数は、開いているファイルから行を返します。
fgets() 関数は、指定された長さ (長さ - 1) に達するか、改行文字に遭遇するか、ファイルの終わり (EOF) に達するか (いずれか早い方) 、改行を返すのを停止します。関数は失敗すると FALSE を返します。
array_pop() 関数は、配列の最後の要素を削除します。配列の最後の値を返します。配列が空である場合、または配列ではない場合は、NULL が返されます。
(学習ビデオの推奨: php ビデオ チュートリアル)
コードの実装:
/** * 删除文件最后一行 * @param $file_path 文件路径 */ public function delLastLine($file_path) { $file = $fp = fopen($file_path, 'r') or die("Unable to open file!"); while(!feof($file)) { $fp = fgets($file); if($fp) { $content[] = $fp; } } array_pop($content); fclose($file); //重新写入文件 $file = fopen($file_path, 'w+'); fwrite($file, implode("", $content)); fclose($file); }
説明:
私のファイルの読み取りout では、配列の最後の行は false を保存するため、if($fp) が配列に書き込まれます。ファイル内に空行がある場合は、この判定を外して配列の最終行を2回削除してください。ファイルが大きすぎてメモリに収まらない場合、この方法は機能しません。
以上がPHPでファイルの最終行を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。