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

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

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

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

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

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

foreach ($file_list as $file) { echo $file."_test
"; } }

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

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

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

関連記事