Asterisk - アスタリスク -

説明するほどでもないブログ

【PHP】ファイルを一行ずつ読み込む

どうも。

今回はプログラムの覚え書きです。ヽ(゜▽、゜)ノ


ファイルを読み込んで、1行ずつ配列へ格納してみる。

<?php
    $result = array();

    $file_path = "./0000.dat";

    if (!file_exists($file_path))
    {
        echo "ファイルが存在しません\n";
    }
    else
    {
        $handle = fopen($file_path, "rb");
        if ($handle)
        {
            if (flock($handle, LOCK_SH))
            {
                while (!feof($handle))
                {
                    array_push($result, fgets($handle));
                }
                flock($handle, LOCK_UN);
            }
            else
            {
                echo "ファイルのロックに失敗しました\n";
            }
        }
        fclose($handle);
    }

    echo count($result)."\r\n";
?>


調べるとシンプルな方法があった・・・。φ(・ω・ )
ファイルのロックはされているのだろうか?

<?php
    $result = array();

    $file_path = "./0000.dat";

    if (!file_exists($file_path))
    {
        echo "ファイルが存在しません\n";
    }
    else
    {
        $result = file($file_path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    }

    echo count($result) . "\r\n";
?>


以上です。