• ベストアンサー

複数のファイル名を取得したいのですが…

ディレクトリ内のファイル名を1件づつ取得し、表示したいのですが、readdirを使用し、ファイル名を取得すると、一つの変数に存在するファイル名をまとめて表示してしまいます。 ファイルの件数分、変数へファイル名を入れることは可能でしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>一つの変数に存在するファイル名をまとめて表示してしまいます。 それは、そういうコードを書いているからではないですか。 readdir は1回にひとつのファイル名を返すと思いますが。  $handle = opendir('tmp');  while (false !== ($f = readdir($handle))) {   $files[] = $f;  }  print_r($files);

yukapu5656
質問者

補足

回答ありがとうございます。 $dir="xxx"; if (is_dir($dir)) { if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { while ($file = readdir($handle)) { echo $file; } } closedir($handle); } この書き方では$fileにいくつものファイル名を書き込んでしまうんですよね(--; $file、$file2、$file3と、ディレクトリ内のファイル件数分、変数を作成する方法があればよいのですが…。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>while (false !== ($file = readdir($handle))) { >while ($file = readdir($handle)) { では、二回読むことになり、 1回目の$fileが上書きされてしまいます。 あと、#1さんが言うように、配列を使いましょう。

yukapu5656
質問者

お礼

[]の意味を理解していませんでした(^^; ありがとうございます。

関連するQ&A