ホームページ > バックエンド開発 > PHPの問題 > PHPでファイルの最終行を削除する方法

PHPでファイルの最終行を削除する方法

王林
リリース: 2023-03-03 18:52:02
オリジナル
3542 人が閲覧しました

php メソッドでファイルの最後の行を削除します。まず fopen() 関数を使用してファイルを開き、次に fgets() 関数を使用してファイルを 1 行ずつ読み取り、読み取った内容をこの関数は配列の最後の要素を削除します。

PHPでファイルの最終行を削除する方法

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート