2012-09-16 37 views
-1

我試圖顯示特定目錄中的所有文件夾。基本上,每次添加新文件夾時,它都會自動顯示在列表中。這是我到目前爲止。我從其他帖子拼湊起來,似乎沒有工作,不知道爲什麼。我收到關於權限的一個令人討厭的錯誤,但沒有找到。PHP顯示目錄文件夾

 $dir = '/s/'; 
     $result = array(); 

     if (is_dir($dir)) { 
       $iterator = new RecursiveDirectoryIterator($dir); 
       foreach (new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::CHILD_FIRST) as $file) {      
        if (!$file->isFile()) { 
         $result[] = 'path: ' . $file->getPath(). ', filename: ' . $file->getFilename(); 
        } 
       } 

     } 

     print_r($result); 

回答

0

您可以使用自制代碼:

function collect_files($dir) 
{ 
if (is_dir($dir)) { 
    if ($dh = opendir($dir)) { 
     $dir = $dir.'/'; 
     while (($file = readdir($dh)) !== false) { 
     if(filetype($dir . $file)=='file'){ 
      $path = strchr($dir,'/');    
      echo "$file - $path<br>\n"; 
      } 
     } 
     rewinddir($dh); 
     while (($file = readdir($dh)) !== false) { 
     if(filetype($dir . $file)=='dir') 
      if($file!='.'&&$file!='..'){ 
      collect_files($dir.$file); 
      } 
     } 
     closedir($dh); 
    } 
} 
} 
collect_files('.'); 
相關問題