php メソッドでファイルの最後の行を削除します。まず fopen() 関数を使用してファイルを開き、次に fgets() 関数を使用してファイルを 1 行ずつ読み取り、読み取った内容をこの関数は配列の最後の要素を削除します。
array_pop() 関数は、配列の最後の要素を削除します。配列の最後の値を返します。配列が空である場合、または配列ではない場合は、NULL が返されます。
(推奨チュートリアル: php グラフィック チュートリアル)
構文:
array_pop(array)
fgets() 関数は、開いているファイルから 1 行を返します。
fgets() 関数は、指定された長さ (長さ - 1) に達するか、改行文字に遭遇するか、ファイルの終わり (EOF) に達するか (いずれか先に到達した時点)、改行を返すのを停止します。関数は失敗すると FALSE を返します。
文法:
fgets(file,length)
(ビデオ チュートリアルの推奨: 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); }
分析:
ファイルが読み取られた後、配列の最後の行は false を保存するため、if($fp) が配列に書き込まれます。ファイル内に空行がある場合は、この判定を外して配列の最終行を2回削除してください。ファイルが大きすぎてメモリに収まらない場合、この方法は機能しません。
以上がPHPでファイルの最終行を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。