mehrere Dateien gleichzeitig hochlagen??? HILFE
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
bemerkung
board
break
button
count
damal
datei
eins
error
fehler
gel
hochladen
knight
mod
moment
rangliste
schleifen
schreiten
step
-
Hallo nochmal,
mein Grundproblem, dass User Dateien hochladen k?nnen, hab ich gel?st!! (http://www.lima-city.de/boards.php?m=thread&id=31742)
Jetzt w?rde ich aber gerne gleichzeitig mehrere Dateine hochladen k?nnen!!
Der so ?hnlich wie beim Filemanager hier auf Lima!!
if(!empty($file0_name)){ if(copy($file0, $pfad.$file0_name)){ if(move_uploaded_file($file0, $pfad.$file0_name)){ echo "<b>Upload beendet!</b><br>"; } } }
Das funktioniert soweit, aber ich hab bisher noch nicht herausgefunden wie ich die for-schleife einbauen kann!!
Die Namen der Dateien kommen ab file0 rein! Also bei einer Anzahl von 3 Dateien m?ssten diese Variablenpaar gesendet worden sein:
file0 - file0_name
file1 - file1_name
file2 - file2_name
Wie kann ich das in einer for-SChleife verarbeiten??
Oder gibts noch ne andere L?sung??
hat keiner ne Idee oder sowas schonmal gemacht??
Einer von den Mods oder Knights kann mir doch sicher helfen.....!!! ;)
Beitrag ge?ndert am 10.07.2005 22:45 von ttobsen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hat keiner ne Idee oder sowas schonmal gemacht??
Einer von den Mods oder Knights kann mir doch sicher helfen.....!!! ;)
Eins vorne weg :
Man wird nicht Knight oder Mod, weil man PHP kann!
Zu deiner Frage :
Mach es doch mit einer "foreach" Schleife!
http://de3.php.net/foreach
Z.B. :
foreach ($_GET as $key) { if(copy($_GET[$key], $pfad.$_GET[$key])) { if(move_uploaded_file($_GET[$key], $pfad.$_GET[$key])) { printf ('Upload der Datei %s%s erfolgreich', $pfad, $_GET[$key]); } } }
Beitrag ge?ndert am 10.07.2005 20:54 von lucas9991 -
Nat?rlich brauch man kein Mod oder Knight zu sein um PHP zu k?nnen, aber sone bemerkung motiviert!! ;)
Hasst du es getestet??
Ich w?rde sagen es funzt net, da der Name des Files nicht richtig mitangegebne wird!!
Auch wenn er irgendwo im Array vorkommt, wird entweder nur der File_name oder der ganze file durch die SChleife gejagt, aber niemlas beides!!
Ich teste mal, aber ich glaub nicht dran!!
Aber DANKE!!
///EDIT\\\
Funzt nicht!!
Beitrag ge?ndert am 10.07.2005 21:24 von jugendlager05 -
hier, das hab ich ma irgendwo her, hatte es damals n bissl ge?ndert... aber: wenn du von seite 1 zu seite 2 wechselst, nicht enter dr?cken, sondern den button, kein plan warum das mit enter nicht geht.
//Zielverzeichniss. Ohne / am Schluss $upload_dir = "temp"; //--------------------------------------------------------------------------- if (isset ($_GET["step"])) $step = $_GET["step"]; else $step = 1; switch ($step) { //--------------------------------------------------------------------------- //Schritt Eins case 1: echo "<form name=form1 method=post action=$PHP_SELF?step=2>"; ?> <table width="100%" border="0" cellspacing="2" cellpadding="0"> <tr valign="top"> <td width="250" bgcolor="#666666"> <strong><font color="#FFFFFF">Wieviele Dateien wollen Sie uploaden?</font></strong></td> <td bgcolor="#CCCCCC"> <input name="ii" type="text" id="ii" size="8"> <font color="#FF0000" size="2">Beliebige Zahl eingeben...</font> </td> </tr> <tr valign="top"> <td width="250" bgcolor="#666666"> <strong><font color="#FFFFFF">weiter zu Schritt Zwei...</font></strong> </td> <td bgcolor="#CCCCCC"> <input name="step2" type="submit" id="step2" value="Schritt 2"> </td> </tr> </table> </form> <?php break; //Schritt Eins Ende //--------------------------------------------------------------------------- //Schritt Zwei case 2: if (isset ($_POST["step2"])) { echo $id; $ii = $_POST["ii"]; echo "<form name=form1 method=post action=$PHP_SELF?step=3 enctype=multipart/form-data name=form1> "; ?> <table width="100%" border="0" cellspacing="2" cellpadding="0"> <tr valign="top"> <td width="250" bgcolor="#666666"> <strong><font color="#FFFFFF">Bitte fügen Sie die Dateien ein!</font></strong> </td> <td bgcolor="#CCCCCC"> </td> </tr> <?php for ($i=1; $i <= $ii; $i++) { echo "<tr valign=\"top\">\n"; echo " <td width=\"250\" bgcolor=\"#666666\">\n"; echo " <strong><font color=\"#FFFFFF\">Datei Nr. $i</font></strong>\n"; echo " </td>\n"; echo " <td bgcolor=\"#CCCCCC\">\n"; echo " <input name=\"file[]\" type=\"file\" id=\"file[]\">\n"; echo " </td>\n"; echo "</tr>\n"; } ?> <tr valign="top"> <td width="250" bgcolor="#666666"> <strong><font color="#FFFFFF">weiter zu Schritt Drei...</font></strong> </td> <td bgcolor="#CCCCCC"> <input name="step3" type="submit" id="step3" value="Schritt 3"> </td> </tr> </table> </form> <?php } break; //Schritt Zwei Ende //--------------------------------------------------------------------------- //Schritt Drei case 3: if (isset ($_POST["step3"])) { //Hier Z?hlen wir die Dateien. (-1 weil das Array bei [0] beginnt!) $count = (count ($_FILES["file"]["name"]))-1; //Die Schleife um alle Dateifelder zu durchlaufen for ($i = 0; $i <= $count; $i++) { //Um Datei Nr. 1, Datei Nr. 2, usw anzeigen zu k?nnen! $a = $i + 1; //Falls kein Error besteht! if ($_FILES["file"]["error"][$i] == 0) { //Falls die Dateien hochgeladen werden konnten if (move_uploaded_file ( $_FILES["file"]["tmp_name"][$i], $upload_dir . "/" . $_FILES["file"]["name"][$i]) ) echo "Die Datei Nr. $a wurde erfogreich hochgeladen!<br>\n"; else echo "Fehler beim Hochladen der Datei Nr. " . $a . "!<br>\n"; } else echo "Datei Nr. $a Fehler: keine Datei ausgew?hlt\n<br>"; } } break; //Schritt Drei Ende }
-
//edit v?lliger Quats was ich geschrieben hab!
Beitrag ge?ndert am 11.07.2005 19:37 von samson -
@ranglisten
h?rt sich ganz gut an!!
Mal sehn, ob funzt!!
Hab im Moment nur leider keine Zeit!!
jo, also bei mir funkts...
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage