Example #1
0
 /**
  * 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;
 }