проблеммы с выводом дерева каталогов

impossible

Новичок
проблеммы с выводом дерева каталогов

echo 'Hellow world;
навоял вот что:
PHP:
<?
clearstatcache();
echo '<pre>';
$space='';
function f_dir($path) {
	global $space;
	if ($dir=@opendir($path)) {
		while (($obj=readdir($dir))!==false) {
			if ($obj=='.' || $obj=='..') {
				continue;
			}
			elseif (is_dir($obj)) {
				echo filetype($obj).'     '.$space.'<font color="#0000FF">'.$obj.'</font><br>';
				$space.='&nbsp;';
				f_dir($obj);
			}
			else {
				if ($date=@filemtime($obj)) {
					echo @filetype($obj).'     '.$space.$obj.' - <font size=1>'.date('d M H:i:s',$date).'</font><br>';
				}
				else {
					echo @filetype($obj).'     '.$space.$obj.' - <font size=1>error</font><br>';
				}
			}
		}
		closedir($dir);
		$space=substr($space,0,strlen($space)-6);
	}
}
f_dir(getcwd());
echo '</pre>';
?>
результат к примеру такой:

Код:
dir     a_news
      i_news.php - error
      theme - error
dir     a_map
      i_map.php - error
      theme - error
dir     a_index
      i_index.php - error
      theme - error
dir     a_guest
      i_guest.php - error
      theme - error
dir     a_admin
      account.php - error
      i_admin.php - error
      mod.php - error
      navig.php - error
      page.php - error
      theme - error
      conf.php - error
      smile.php - error
dir     a_account
      i_account.php - error
      list.php - error
      theme - error
dir     a_page
      i_page.php - error
      theme - error
file     site.php - 06 Apr 14:34:30
не определяет большинство файлов и папок, не понимаю почему

-~{}~ 06.04.05 14:56:

почему то кажется где-то логическая ошибка

-~{}~ 06.04.05 15:12:

думаю все дело в указании пути...
т.е. корень он понимает, а все глубже - нет...
 

kruglov

Новичок
ну дык склеивайте путь и имя файла.

if ($obj=='.' || $obj=='..') {
continue;
}
$obj=$path.'/.$obj;
 

Astral Man

We Will Rock You
PHP:
function f_dir($path) { 

    $space=''; 

    if ($dir = opendir($path)) { 
        while (($obj = readdir($dir)) !== false) { 
            if ($obj != '.' and $obj != '..') { 

                $obj = $path.'\\'.$obj;

                if (is_dir($obj)) { 
                    echo filetype($obj).'    '.$space.'<font color="#0000FF">'.$obj.'</font><br>'; 
                    $space.='&nbsp;'; 
                    f_dir($obj); 
                } 

                if(is_file($obj)) {
                    
                    if ($date = filemtime($obj)) { 
                        echo filetype($obj).'       '.$space.$obj.' - <font size=1>'.date('d M H:i:s',$date).'</font><br>'; 
                    } 
                    else { 
                        echo filetype($obj).'       '.$space.$obj.' - <font size=1>error</font><br>'; 
                    } 
                
                }
                


            } 
        } 
        closedir($dir); 
        $space=substr($space,0,strlen($space)-6); 
    } 
} 


clearstatcache(); 

echo '<pre>'; 
    f_dir(getcwd()); 
echo '</pre>';
 
Сверху