/** * Recursive copy * * Copies a file to another location or a complete directory * * @access public * @param string $source File source * @param string $dest Destination path * @return bool Returns TRUE on success, FALSE on failure */ function FullCopy($source, $dest) { // Simple copy for a file if (is_file($source)) { return copy($source, $dest); } // Make destination directory Jaws_Utils::mkdir($dest); // Loop through the folder $dir = @dir($source); while (false !== ($entry = $dir->read())) { // Skip pointers if ($entry == '.' || $entry == '..') { continue; } // Deep copy directories if ($dest !== $source . '/' . $entry) { Jaws_FileManagement::FullCopy($source . '/' . $entry, $dest . '/' . $entry); } } // Clean up $dir->close(); return true; }