Wie kopiere ich Dateien mit PHP vom Server auf Dropbox? [Duplikat]

Diese Frage hat hier bereits eine Antwort:

Wie kann ich Dateien aus einem bestimmten Verzeichnis nur mit PHP auf Dropbox sichern? 3 Antworten

Ich glaube, ich habe ein PHP-Programm gefunden, mit dem ich Dateien aus einem bestimmten Ordner in mein Dropbox-Konto hochladen kann. Die vollständige Lösung kann gefunden werdenHier.

Der Code scheint zu funktionieren, da Dateien und Ordner hochgeladen werden. Ich möchte jedoch nicht, dass die Dateien auf meinem Server vorher komprimiert werden: Ich möchte alle Dateien mit den darin enthaltenen Dateien und Ordnern kopieren.

Wie kann der Code bitte geändert werden? Ich möchte lediglich ein bestimmtes Verzeichnis mit dem Namen uploads von meinem Server in die Dropbox kopieren. Nachdem ich den Code geändert hatte, gelang es mir, zu folgendem Code zu gelangen:

    <?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");

    ?>

Tatsächliche Lösung Besonderer Dank geht an Alireza Noori, Halfer und alle anderen.

<?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);

?>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage