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

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

王林
王林オリジナル
2020-08-04 14:21:273541ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。