private function tryToCopyFolder($folder, $inDir, $outDir, $skip = array()) { // skip if not a folder if (!$folder->isDir()) { return; } // iterate recursively on all files $dir = new \RecursiveDirectoryIterator($folder->getRealPath()); $it = new \RecursiveIteratorIterator($dir, \RecursiveIteratorIterator::SELF_FIRST); foreach ($it as $file) { $this->tryToCopyFile($file, $inDir, $outDir, $skip); } }