Получаем список файлов в папках и подпапках

function DirFilesR($dir)  
  {  
    
    $handle = opendir($dir) or die("Can't open directory $dir");  
    $files = Array();  
    $subfiles = Array();  
    while (false !== ($file = readdir($handle)))  
    {  
      if ($file != "." && $file != "..")  
      {  
        if(is_dir($dir."/".$file))  
        {  
            // Получим список файлов  
            // вложенной папки...  
          $subfiles = DirFilesR($dir."/".$file);  
            // ...и добавим их к общему списку  
          $files = array_merge($files,$subfiles);  
        }  
        else  
        {  
          $files[] = $dir."/".$file;  
        }  
      }  
    }  
      
    closedir($handle);  
    return $files;  
    
  }