【PHP】ディレクトリ一覧を読み込むのにつまづいた

PHPディレクトリを取得しようとした時のこと。

↓こちらの場合、特に問題なし。"./" や "../" も含む。

if ($handle = opendir($path))
{
    while (false !== ($file = readdir($handle)))
    {
        echo $file."_test<br/>";
    }
}

↓しかし、こちらのように、いったん配列に退避した場合、なぜか、最初に「null」が入ってしまった。

if ($handle = opendir($path))
{
    while (false !== ($file_list[] = readdir($handle)));

    foreach ($file_list as $file)
    {
        echo $file."_test<br/>";
    }
}

配列が1つ多くなるという感じでした。なぜでしょう?

とりあえず、readdir ではなく、scandir を使うようにしました。

$cdir = scandir($path);
foreach ($cdir as $key => $file) 
{
    echo $file."_test<br/>";
}

関連記事