function tree($dir)
 {
  $dir=opendir($dir);
  while($file=readdir($dir))
  {
  if(is_dir($file)&&$file!='.'&&$file!='..')
  {
  echo '文件夹'.$file.'<br>';
 
  }
  if($file!='.'&&$file!='..')
  {
  echo '文件'.$file.'<br>';
  }
  }
 }
tree('./file/');
这段代码不能识别/file/目录下的文件夹?应该怎样写呢,回答的马上给分。

解决方案 »

  1.   

    ./file/是当前目录下的file文件夹
    /file/是根目录下的file文件夹
    你要识别哪一个?
      

  2.   

    就是当前目录当前目录file下的文件夹啊,./file/
      

  3.   

    输出结果为
    文件upload
    文件upload.php
    文件browsedirectory.php
    文件test.php
    文件uploadform.php
    -------------------------------------------
    文件upload这个upload是文件夹,怎么会被认为是文件呢
      

  4.   

    你的程序逻辑有问题,加上continue跳出本次循环
    function tree($dir) 

    $dir=opendir($dir); 
    while($file=readdir($dir)) 

    if(is_dir($file)&&$file!='.'&&$file!='..') 

    echo '文件夹'.$file.' <br>'; 
    continue;

    if($file!='.'&&$file!='..') 

    echo '文件'.$file.' <br>'; 
    continue;



    tree('./file/'); 
      

  5.   


    function tree($dir){ 
    $dir=opendir($dir); 
    while(false !== ($file = readdir($dir))){ 
    if ($file=='.'||$file=='..'){
    continue;
    } elseif(is_dir($file)){ 
    echo '文件夹'.$file.' <br>'; 
    } else{ 
    echo '文件'.$file.' <br>'; 
    }


    tree('./file/'); 
      

  6.   

    这里要提一下“while($file=readdir($dir))”是有问题的,如果里面有个文件夹叫“0”,将退出循环。
      

  7.   


    这个是对的function tree($dir)
    {
    $dir=opendir($dir);
    while($file=readdir($dir))
    {
    if(is_dir($file)&&$file!='.'&&$file!='..')
    {
    echo '文件夹'.$file.' <br>';}
    else if($file!='.'&&$file!='..')
    {
    echo '文件'.$file.' <br>';
    }
    }
    }
    tree('./file/');