人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで、ディレクトリ構造をXMLに書き出すプログラムを作成しています。

決まったディレクトリ下のディレクトリ一覧を取得しいのですが
求めたい結果がえられません。

あるディレクトリ下にあるディレクトリのリストを配列で返すFunctionとして
以下を作成したのですが、is_dir のところで、ディレクトリなのにfalseが返ってきてしまいます。

function getDirList($trgDir){
$a = array();
if ($dir = opendir($trgDir)) {
while (($file = readdir($dir)) !== false) {
if ($file != "." && $file != "..") {
if(is_dir($file)){
array_push($a, $file);
}
}
}
closedir($dir);
return $a;
}
}

環境:Windows PHP5, apache2

●質問者: ken1bf7
●カテゴリ:インターネット ウェブ制作
✍キーワード:Dir PHP Windows XML ディレクトリ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● studioes
●35ポイント

is_dir($trgDir.'/'.$file)ってことじゃないかな?

$fileはファイル名のみだから、ディレクトリを付けてやらないと・・・

http://q.hatena.ne.jp/

◎質問者からの返答

ありがとうございます。


2 ● えるふん
●35ポイント

この場合,$fileはディレクトリ内のファイル名やディレクトリ名が入っているだけです.

ls_dir()は絶対パス,あるいはgetcwd()からの相対パスを期待していると思うので,

 if(is_dir($file)){

 if(is_dir($trgDirDIRECTORY_SEPARATOR..$file)){

だと思います.

http://php.net/is_dir

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ