[PHP-users 9074] ファイルの一覧の一部が取得できない。

shingo php-users@php.gr.jp
Sat, 03 Aug 2002 15:31:55 +0900


シンゴ といいます、こんにちは。

初歩的なところなのですが、つまづいているので教えてください。

ファイルやディレクトリ名の取得を以下のコードでやろうとしているの
ですが、一部のファイルやディレクトリの一覧が表示されません。

-------------------------------
$handle = opendir("$path");
while ($a = readdir($handle)) {
	print $a . "<Br>";
	}

closedir($handle);
-------------------------------
また、以下のコードで試しましたが同じでした。

-------------------------------
$d = dir("$path");
while ($a = $d->read()) {
	print $a . "<Br>";
	}
$d->close();
-------------------------------

分かっていることは、
(1)$path 以下にファイルやディレクトリを追加して更新しても、表示されない

(2)$path 以下のファイル数(200程度)を、半分くらいに減らして、(1)の操作
をしたところ、減らしたあとに追加したファイルのみ表示されます。
ただし、(1)の段階で追加したファイルは何故か表示されません。
何度更新しても、他のファイルを追加しても、(1)の段階で追加したファイルは
表示されません。(追加方法は、シェル上で直接作っています。)

(3)所有者とパーミッションは、チェック済みで、どれも同じです。
ちゃんと apache 動作ユーザから見えるようになっています。
(php から、直接読み取りなどはできます。)

です。

rewinddir();
でディレクトリハンドルを先頭にセットしたり、いろいろ試したのですが、
ダメです。

ちなみに、表示されないディレクトリ・ファイル名は、表示される
ファイル名の構成と変わりません。
例えば
表示されるファイル test1 test.1
表示されないファイル test2 t_ml1t.ml1

等です。

基本的なことで申し訳ありませんが、ヒントや参考情報でも結構です。
ヨロシクお願いします。