FTP Upload

  • PHP

  • Snip3r
  • 1362 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Guten Abend zusammen,

    ich hab ein Problem mit PHP. Und zwar möchte ich per PHP einen FTP Upload eines Verzeichnisses machen. In diesem Verzeichnis sind einige Unterordner, in diesen sind diverse Dateien (z.B. .php oder .jpg).

    Das PHP Manual zum Thema ftp_put() habe ich mir auch schon etwas durchgelesen, nur möchte ich nicht für jede Datei/ Verzeichnis eine eigene Codezeile schreiben. Am liebsten wäre es mir man könnte das in einer Schleife unterbringen, allerdings weiß ich nicht wie ich das am besten anstelle.

    Mein PHP Code bisher:

    PHP-Quellcode

    1. // einfacher Verbindungsaufbau
    2. $conn_id = ftp_connect($ftp_server);
    3. // Login mit Username und Passwort
    4. $login_result = ftp_login($conn_id, $ftp_benutzer, $ftp_pass);
    5. // Check open
    6. if ((!$conn_id) || (!$login_result)) {
    7. $error;
    8. }
    9. else{
    10. // Hier müsste dann der Upload hin ;)
    11. }
    Alles anzeigen


    Würde mich sehr über Hilfe freuen.
    Snip3r
    Rechteübersicht * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion * Chat * User helfen User
    Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten. (Bertrand Russell)
  • Hi,
    ich hab dir mal auf die Schnelle eine Funktion geschrieben, die das bewerkstelligt.
    Hab ich aber aus Zeitmangel nicht getestet ;)

    Quellcode

    1. /*
    2. /function upload_dir uploads a complete folder
    3. /int conid = ftp-stream
    4. /str folder = folder on local machine
    5. /str dest_folder = folder on ftp
    6. /int mode = FTP-Transfer-Mode FTP_BINARY OR FTP_ASCII
    7. */
    8. function upload_dir($conid,$folder,$dest_folder,$mode = FTP_ASCII) {
    9. $handle = @opendir($folder) OR trigger_error('Verzeichnis "'.$folder.'" kann nicht geöffnet werden!',E_ERROR);
    10. while(($file = readdir($handle)) !== false) {
    11. if(!is_numeric(array_search($file,array('','.','..')))) {
    12. if(is_dir($folder.'/'.$file)) upload_dir($conid,$folder.'/'.$file,$dest_folder.'/'.$file,$mode)
    13. else ftp_put($conid,$folder.'/'.$file,$dest_folder.'/'.$file,$mode);
    14. }
    15. }
    16. closedir($handle);
    17. }
    Alles anzeigen


    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • @relaxo: ich meinte eigentlich nicht, dass man die Verzeichnisse mit Dateien vom eigenen PC hochlädt. Das ist alles schon auf meinem Server drauf.
    Man soll seine FTP Zugangsdaten eingeben und das Script lädt alles auf einen anderen Server hoch ;)

    @BrokenSword: :danke: für deine Antwort, werde das mal ausprobieren.
    Rechteübersicht * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion * Chat * User helfen User
    Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten. (Bertrand Russell)