3 Stimmen

PHP FTP Bibliothek/Funktion zum Herunterladen eines gesamten Verzeichnisses und Unterordner auf lokales Laufwerk

Weiß jemand von einer PHP FTP-Bibliothek/Funktion, die dazu in der Lage ist, ganze Verzeichnisse auf die lokale Festplatte herunterzuladen? Ich habe versucht, eine Funktion hierfür zu schreiben, aber das übersteigt meine Fähigkeiten :-(

Ich kann kein sicheres Kopieren oder ähnliches verwenden. Es muss ein PHP-Skript sein, das von einer lokalen Maschine aus ausgeführt wird, um sich auf einem entfernten Server anzumelden und ein bestimmtes Verzeichnis herunterzuladen.

Danke!

2voto

djdy Punkte 6731

http://php.net/manual/de/function.ftp-get.php

Schau in den Kommentaren: mroerick at gmx dot net 15. Mai 2009 07:42

Die Idee ist es: einloggen > Liste der Dateien abrufen > die Dateien herunterladen, wie das Beispiel zeigt.

0 Stimmen

Wo speichert das Beispiel die Datei?

0voto

hugsbrugs Punkte 3251

Ich habe gerade 2 neue Bibliotheken veröffentlicht, um solche Dinge in FTP / SFTP zu tun

Kopieren Sie Dateien und Ordner rekursiv auf einem entfernten SFTP-Server (Wenn local_path mit einem Schrägstrich endet, wird der Inhalt des Ordners hochgeladen, andernfalls wird der Ordner selbst hochgeladen)

Ftp::upload_dir($server, $user, $password, $local_path, $remote_path, $port = 22);

Laden Sie ein Verzeichnis von einem entfernten FTP-Server herunter (Wenn remote_dir mit einem Schrägstrich endet, wird der Inhalt des Ordners heruntergeladen, andernfalls wird der Ordner selbst heruntergeladen)

Ftp::download_dir($server, $user, $password, $remote_dir, $local_dir, 

$port = 22);

0voto

El Amrani Chakir Punkte 191

Das können Sie ganz einfach mit diesem Library machen:

Der Code:

$connection = new FtpConnection('host', 'username', 'password');

$client = new FtpClient($connection);

if (asyncDownload('yourLocalFolder', '.')) {
    echo 'Fertig!';
}

function syncDownload($localDir, $remoteDir)
{
    global $client;

    if (!is_dir($localDir)) {
        mkdir($localDir);
    }

    /**
     * listDirectoryDetails-Methode ruft rekursiv alle Dateien mit ihren Details im angegebenen Verzeichnis ab.
     */
    $files = $client->listDirectoryDetails($dir, true);

    foreach($files as $file) {
        $client->download($file['path'], $localDir . '/' . $file['name'], true, FtpWrapper::BINARY);
    }

    return true;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X