- ベストアンサー
ファイル名を取得できない
次のようなソースでディレクトリ内のファイル名を取得しようとしています。 $dh=opendir("."); while(($entry=readdir($dh))){ if(is_file($entry)){ print $entry."<>"; } } closedir($dh); このソースを、取得したいディレクトリ内で動かすとまったく問題ないのですが、ディレクトリのパスを1個上の階層などから相対パスで指定すると、.phpファイルと.htmlファイルは取得するのですが、ほかのファイル名は取得されなくなってしまいます。 何かphp.iniなどで設定があるのでしょうか。 回避方法がありましたら是非ご教授ください。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ファイル名にディレクトリ名をつける必要があるのでは。 $dir = "./test";//ディレクトリ名を変数に確保 $dh=opendir($dir); while(($entry=readdir($dh))){ if(is_file($dir."/".$entry)){//ファイル名にディレクトリを追加 print $entry."<>"; } } closedir($dh);
その他の回答 (1)
- venturecom
- ベストアンサー率50% (4/8)
書いてみました。 私の環境では出来ましたので、こんな感じでいかがでしょうか。 ANo.1の方の回答と酷似してますね^^; <?php if($dh=opendir("../dir_name")){ while(false !== ($entry = readdir($dh))){ if ($entry != "." && $entry != "..") { if(is_file("../dir_name/". $entry)){ echo "$entry\n"; } } } } closedir($dh); ?>
お礼
わざわざどうもありがとうございました。 無事取得できました。 phpファイルとhtmlファイルだけ取得できたのは、同じファイル名のファイルがそれぞれのディレクトリにあったからでした。 お恥ずかしい・・・
お礼
ありがとうございます。 きちんと取得できました。 そうですね。ディレクトリ内の情報だけ取得してもそれがファイルかどうか判別するところではちゃんとパスを指定しないとわからないですよね。 なんか自分で気づかなかったのが悔しいです・・・w ありがとうございました。