upload
karinsch
- php
Hallo!
Kann mir vielleicht jemand weiterhelfen? Ich suche ein php-script (ganz einfach, damit es auch auf allen php-Versionen läuft), mit dem ich gleichzeitig 2 Bilder uploaden kann. Aber die Bilder solln jeweils in unterschiedliche Ordner upgeloaded werden (KEIN Resize!! - ganz einfacher Upload)...
I hab bis jetzt nix passendes gefunden...
Vielen Dank im Voraus!
LG Karin!
Ich hab jetzt einen php-upload mit dem ich 2 Dateien gleichzeitig uploaden kann gefunden. Funktioniert bestens. Nur werden die beiden Dateien in den gleichen Ordner gespeichert. Kann ich das irgendwie umschreiben, dass die 1. Datei in "ordner1" und die 2. Datei in "ordner2" gespeichert wird? Das script sieht so aus (Ausschnitt aus dem gesamten script, in dem der upload läuft...):
--------------
$num = 0;
while($num < 2) {
$num++;
$picture = "fileup$num"."_name";
$picture1 = $$picture;
$picture2 = "fileup$num";
$picture3 = $$picture2;
if($picture3 != "none") {
$filesizebtyes = filesize($picture3);
$ok = 1;
if($filesizebtyes < 10) {
$error .= "Fehler beim Upload (Dateigröße geringer als 10 bytes) für Datei $num<br>";
$ok = 2;
}
copy ($picture3, "$ADMIN[directory]/$picture1");
$error .= "Upload von Bild $num erfolgreich!<BR>";
}
}
--------------
Und in dieser Zeile:
copy ($picture3, "$ADMIN[directory]/$picture1");
wird ja festgelegt, dass die Bilder in den ordner "ADMIN[directory]/" gespeichert werden (Ordnername wurde zuvor festgelegt). Funktionieren sollte es aber so: Bild1 in ordner1 und Bild2 in ordner2.
Kann mir da jemand weiterhelfen und mir mailen, wie's richtig gehört?
Vielen Dank im Voraus!
LG Karin!
Hallo Karin,
Nur werden die beiden Dateien in den gleichen Ordner gespeichert.
Kein Wunder, Du kopierst sie ja auch dorthin.
($ADMIN["directory"] hat ja offenbar immer den gleichen Wert,
unabhaengig von Deinem Zaehler $num, der 1 oder 2 ist).
Die wichtige Zeile ist:
copy ($picture3, "$ADMIN[directory]/$picture1");
Variante 1:
Mach da eine IF/ELSE Entscheidung hin:
if ($num==1)
copy ($picture3, "ordner1/$picture1");
else
copy ($picture3, "ordner2/$picture1");
Variante 2:
Lege vorher den Wert fuer das Zielverzeichnis fest,
dann hast Du nur eine Zeile mit copy():
if ($num==1)
$ordner="blabla";
else
$ordner="blafasel";
copy ($picture3, "$ordner/$picture1");
Bei mehr als zwei Bildern muesstest Du dann statt
IF/ELSE besser eine SWITCH/CASE Verzweigung nehmen,
und die zweite Variante ist sicher vorzuziehen.
Auch die folgende Variante wuerde mit mehreren Bildern
bestens funktionieren:
Variante 3:
Mach einen Array mit den Zielverzeichnissen:
$ordner[1]="blabla";
$ordner[2]="blafasel";
$zielpfad=$ordner[$num]."/$picture1";
copy ($picture3,$zielpfad);
N.B. Alle Code-Beispiele aus dem hohlen Bauch, ungetestet.
Gruesse,
Thomas
P.S. (fuer Mitlesende und Archiv)
In der dclp-FAQ gibt es auch einen Artikel zum Thema:
"Wie kann ich mehrere Dateien auf einmal uploaden?"
http://www.dclp-faq.de/q/q-formular-mehrfach-upload.html