Como copiar arquivos do servidor para o Dropbox usando PHP? [duplicado]

Esta questão já tem uma resposta aqui:

Como fazer backup de arquivos de um diretório específico para o Dropbox usando apenas o PHP? 3 respostas

Acho que encontrei um programa PHP para fazer upload de arquivos de uma pasta específica para minha conta do Dropbox. A solução completa pode ser encontradaAqui.

O código parece funcionar porque arquivos e pastas estão sendo enviados. No entanto, não quero que os arquivos do meu servidor sejam compactados anteriormente: desejo copiar todos os arquivos com os arquivos e as pastas.

Como o código pode ser modificado por favor? Tudo que eu quero é copiar um diretório específico chamado uploads do meu servidor para o dropbox. Depois de modificar o código, consegui chegar a este código:

    <?php

    // Set the timezone so filenames are correct
    date_default_timezone_set('Europe/London');

    // Dropbox username/password
    $dropbox_email='[email protected]';
    $dropbox_pass='password';


    // Filenames for backup files
    $backup_files = "files_" . date("Y.m.d-h.i.s_l") . '.zip';


    // File to backup
    $siteroot = "/site/home/public_html/website/parent/child/uploads/";


    // Backup all files in public_html apart from the gz
    system("zip -r $backup_files $siteroot");


    include("DropboxUploader.php");

    $uploader = new DropboxUploader($dropbox_email, $dropbox_pass);
    $uploader->upload($backup_files,'Backup/Files/');

    system("rm $backup_files");

    ?>

Solução Real Um agradecimento especial a Alireza Noori, halfer e todos os outros.

<?php

// Set the timezone so filenames are correct
date_default_timezone_set('Europe/London');

// Backup all files in public_html apart from the gz
$siteroot = "/path/to/backup";

$dropbox_email='dropbox@email';  //Dropbox username
$dropbox_pass='pass';   // Dropbox password

include("DropboxUploader.php");

$uploader = new DropboxUploader($dropbox_email, $dropbox_pass);

function FolderToDropbox($dir, $dropbox_link){    
    $dropbox_folder = 'FolderInDropboxRoot/';
    $files = scandir($dir);
    foreach($files as $item){
        if($item != '.' && $item != '..'){
            if(is_dir($dir.'/'.$item)) FolderToDropbox($dir.'/'.$item,$dropbox_link);
            else if(is_file($dir.'/'.$item)) {
                $clean_dir = str_replace("/path/to/backup", "", $dir);
                $dropbox_link->upload($dir.'/'.$item,$dropbox_folder.$clean_dir.'/');  
            } 
        }
    }
}

FolderToDropbox($siteroot,$uploader);

?>

questionAnswers(3)

yourAnswerToTheQuestion