Moin!
hab mir ein script gemacht:
Fein. Beachte aber bitte:
$quelldatei[1]=$HTTP_POST_VARS['bild1'];
$quelldatei[2]=$HTTP_POST_VARS['bild2'];
$quelldatei[3]=$HTTP_POST_VARS['bild3'];
1. Verwende IMMER und AUSSCHLIESSLICH die Variablen $_GET, $_POST, $_FILES etc. für die Entgegennahme deiner Formulardaten. $HTTP_xxx_VARS sind veraltet.
$i=1;
$quelldatei = $quelldatei[$i];
An dieser Stelle kracht es. Dein oben so sorgfältig angelegtes Array wird überschrieben! Bedenke: Gleicher Variablenname!
Das heißt, dass Datei 2 und 3 scheitern müssen - auch wenn sich das nicht zwingend durch eine Fehlermeldung äußert.
print $zieldatei = "objekte/objekt".$objektnr."/bild".$i.".jpg";
if (!ftp_put($con, $zieldatei, $quelldatei, FTP_BINARY)) {
Bist du sicher, dass in $quelldatei das drinsteht, was du brauchst? Du hast hier schließlich nur den DateiNAMEN - die Datei selbst befindet sich aber nicht auf deinem Server (auf dem das PHP-Skript läuft), sondern auf dem Rechner, auf dem du das Formular ausgefüllt hast. Insbesondere könnte die Pfadangabe zu der Datei fehlen.
Wieso wird der Inhalt nicht übertragen?
Offenbar findet ftp_put etwas, was erfolgreich übertragen werden konnte, aber leer ist. Dein Skript ist zumindest EXTREM fragwürdig, was deine Annahmen über existierende Dateien und Variableninhalte angeht.
- Sven Rautenberg