Problem mit For Schleife in einem Upload Script

VillaiN

Grünschnabel
Möchte mehrere Dateien hochladen und möchte dies mittels einer for Schleife machen. Nun hab ich nur ein Problem und zwar weiss ich nicht genau wie ich diesen Abschnitt genau umschreiben muss sodass er mir die ganzen Dateien in tempname1 tempname2 usw macht !:

PHP:
	for ($i=1;$i<=4;$i++) { 

		$tempname = $_FILES['file']['tmp_name']; 
		$name = $_FILES['file']['name']; 
       }

MfG
VillaiN
 
PHP:
	for ($i=1;$i<=4;$i++) { 

		$tempname = $_FILES['file']['tmp_name'] . $i; //so vielleicht? für was willst du verschiedene tempnamen haben?
		$name = $_FILES['file']['name'] . $i; //oder willst du das haben?
       }
 
Ich lade 4 Dateien oder mehr hoch und muss Sie ja irgendwie auslesen damit ich Sie auf den Server kopieren kann. Und das möcht ich per For Schleife. Nur weiss ich halt nicht wie ich die einzelnen Dateien in meine Variable bekomme (Tempname1 usw.)

PHP:
 copy("$tempname[$i]","../images/$imgnr[$i]$name[$i]");
 
Hi!
Also ich hatte schon einmal das selbe Problem wie du!
Ich habe es meiner Meinung nach ganz einfach geloest.
Du machst einfach eine neue Funktion -> etwa so:

PHP:
<?

//zuerst machst du eine Funktion...

function upload($datei, $pfad) {
                    if(@copy($datei['tmp_name'], "'.$pfad.'/'.$date['name'].'")) {
                                 echo "Date ".$file['name']." wurde geuploadet!";
                       } else { 
                                 echo "Date ".$file['name']." wurde nicht geuploadet!";
                        } }

//dann machst du hier ganz einfach deine Felder und taufst diese
//z.B. Feld1, Feld2, Feld3, Feld4 usw...

echo "<form method='post' enctype='multipart/form-data'>";

for($i = 1; $i<5; $i++) {
echo "<input type='file' name='file".$i."'>";
}

echo "<br>input type='submit' value='upload' name='upload'></form>";

if($_POST['upload']) {
         for($i = 1; $i<5; $i++) {
              upload($_FILES['file".$i."'], 'Ordnername');
    } }

?>
So, das wars eigentlich schon... ;)
Grüße, andulus
 
Zuletzt bearbeitet:
Hi andulus dein Script so wie du es gepostes hast geht es nicht, aber da ich so was brauchte habe ich dein Script ein bisschen umgeschrieben damit es ging hier ist es so geht es

PHP:
  <?
  
  //zuerst machst du eine Funktion...
  
  function upload($file) {
  				$dateiname = $file['name'];
 				 if(copy($file['tmp_name'], "ORDNERNAME//$dateiname")) {
  				
 								 echo "Date ".$dateiname." wurde geuploadet!";
 					 } else {
 								 echo "Date ".$dateiname." wurde nicht geuploadet!";
  					    } }
  
  //dann machst du hier ganz einfach deine Felder und taufst diese
  //z.B. Feld1, Feld2, Feld3, Feld4 usw...
  
  echo "<form method='post' enctype='multipart/form-data'>";
  
  for($i = 1; $i<5; $i++) {
  echo "<input type='file' name='file".$i."'>";
  }
  
  echo "<br><input type='submit' value='upload' name='upload'></form>";
  
  if($_POST['upload']) {
  		 for($i = 1; $i<5; $i++) {
  			  upload($_FILES['file'.$i.'']);
  	} }
  
  ?>

P.S Jeder macht mal fehler :)
 
@Dom123:
Hi! Ich versteh nicht ganz was du an diesem Script "umgeschrieben" hast :confused:
Naja, ist ja egal. wie gesagt: Jeder macht mal einen Fehler ;)

PS: Bei meinem Server läuft es ohne jegliche Probleme...
Achja: Nichts gegen deine gut gemeinte Änderung.
Aber ich kann mir beim besten Willen nicht vorstellen das Das hier funktioniert (siehe Codeschnippsel)...
PHP:
copy($file['tmp_name'], "ORDNERNAME//$dateiname");
meiner Meinung und nach meinen Kenntnissen müsste das so funktionieren:
PHP:
copy($file['tmp_name'], ".ORDNERNAME."/".$dateiname.");
Aber wie gesagt: Nichts für ungut !
...und Danke nochmals dass du dir die Mühe gemacht hast meine Code zu testen und abzuaendern :-)
 
Zurück