ftp Verbindung "sinnvoll" verwalten

baeri

Erfahrenes Mitglied
Hallo,

ich möchte einen FTP-Upload machen... liegt daran, dass wir da von bis zu 2000 Dateien sprechen und die Dateien teilweise bis zu 1GB groß sein können.

die Beschreibungen wie z.B. https://www.w3schools.com/php/func_ftp_put.asp funktionieren prima.

jetzt mach ich das Folgendermaßen:
mit <form action=ftp_upload.php method=post enctype=multipart/form-data> realisiere ich die möglichkeit "viele" Dateien gleichzeitig an mein upload script zu senden...
=> so wie ich das verstehe werden bei 3 Dateien, das script 3mal aufgerufen...

wenn ich jetzt 3x 500MB hochlade ist das kein problem... wenn ich jetzt aber 100x 50kb hochlade, dann baue ich jedes mal die verbindung auf und trenne sie anschließend wieder...

=> wie könnte ich das "logischer" verwalten...

eine Idee meinerseits war, dass ich die Verbindung bereits beim Formular aufbaue, allerdings wie übergebe ich dann mit meiner "action" die verbindung?

Ist meine problemstellung klar?

Vielen Dank, freue mich über jeden tipp...
 
=> so wie ich das verstehe werden bei 3 Dateien, das script 3mal aufgerufen...
Nein, dein Script wird nur einmal aufgerufen und die Dateien in $_FILES abgelegt. In diesme Array ist jedes Element eine hochgeladene Datei.

Ohne Code von dem Upload können wir dir leider nicht weiterhelfen.

Grüsse,
BK
 
Hi,

dann musst du zwischen deinem ftp_login() und ftp_close() halt mit einer Schleife mehrere Dateien hochladen.

Grüsse,
BK
 
das Form selbst ruft das Upload Script mehrfach mit jeder Datei einzeln ab...
Das ist dein Problem. Bei jedem Request wird die Verbindung aufgebaut, eingeloogt, Datei hochgeladen, Verbindung geschlossen.
Entweder du schickst alle Dateien in einem Request oder du lädst die Dateien erstmal in ein temporäres Verzeichnis hoch und rufst anschliessend dein Uploadscript einmalig auf, mit der Liste der Dateien die bereits auf dem Server liegen.

Grüsse,
BK
 
Zurück