php はファイルから最後の N 行のデータを取得します

不言
リリース: 2023-03-23 07:54:02
オリジナル
1830 人が閲覧しました

この記事で紹介する内容は、phpを使ってファイルから最後のN行のデータを取得する方法です。これをあなたと共有し、困っている友達に参考にすることもできます

GitHubのソースコード
をベースにしています。次の問題とその解決策について:
PHP を使用して、テキスト ファイルの最後の $n 行を取得する関数を作成します。これは、可能な限り効率的であり、プラットフォーム間で使用できる必要があります。 Windows プラットフォームと Linux プラットフォームのファイルに一貫性がないターミネータの問題は、この違いがコードに反映されていないことです。すべて Linux システム上のコードです。まだクロスプラットフォームの問題を理解する必要がありますか?

<?phpheader("content-type:text/html;charset=utf-8");class GetFileLastNumRow{
    private $filePath;    private $fileMode = &#39;r&#39;;    private $rowNum = 3;    public function __construct(array $config)
    {
        foreach ($config as $key => $value) {            $this->$key = $value;
        }
    }    public function run()
    {
        try {            $handle = fopen($this->filePath, $this->fileMode);
            fseek($handle, -1, SEEK_END);            $contents = "";            $rowCount = 0;            do {                if (($str = fgetc($handle)) == "\n") {                    $rowCount++;
                }                $contents = $str.$contents;
                fseek($handle, -2, SEEK_CUR);
            } while ($rowCount < $this->rowNum);
            var_export(trim($contents, "\n"));
            fclose($handle);
        } catch(\Exception $e) {
            var_export($e->getMessage());
        }
    }
}class Test{
    public function run()
    {
        $filePath = &#39;./TestData/GetFileLastNumRow/test.data&#39;;        $getFileLastNumRow = new GetFileLastNumRow(compact(&#39;filePath&#39;));        $getFileLastNumRow->run();
    }
}$test = new Test();$test->run();
ログイン後にコピー

関連する推奨事項:

配列内の指定された列を取得する PHP メソッド

ユーザーの IP アドレスを取得する PHP メソッド

以上がphp はファイルから最後の N 行のデータを取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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