Mehrer Datein Upload

-GS-Master

Erfahrenes Mitglied
Verwend Momentan diese Code um Daten Uploaden zu lassen.
Jetzt möchte ich jedoch mehrer Daten auf einmal hochladen, welche
in einem Array (in diesem Fall ann Datei) aufgelistet sind, da ich das eingabefeld über eine
while-Schleife je nach belieben so oft wie ich will wiederhohlen lasse.

Jetzt hab ich jedoch das Problem, dass es mit 1 Datei Funktioniert, mit mehreren (also aus einem Array) jedoch nicht.

Könnt ihr mir sagen was ich falsch mache

PHP:
    $image = $_POST['Datei']; 
    if($name==""){ 
        echo "<center><div class=\"text\"> Bitte alle Felder ausfühlen<br> 
        <a href=\"javascript:history.back(1)\">hier</a> zurück</center></div>"; 
    } 
    else{ 
        /*****************************************************/ 
        $uploaddir1 = 'Upload/'; 

        print "<pre>"; 
        if (move_uploaded_file($_FILES['Datei']['tmp_name'], $uploaddir1 . $_FILES['Datei']['name'])) { 
            print "hat geklappt:\n"; 
            print_r($_FILES); 
        } else { 
            print "nicht geklappt:\n"; 
            print_r($_FILES); 
        } 


}
 
Ich habe hier einen Code zum Mehrfachupload. Ich poste das einfach mal:


upload.html
HTML:
<html>
<head>
<title># of Files to Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
	<form action="uploadForm2.php" method="post">
		<p>Hier Anzahl der Upload Felder eingeben! (Max = 9)</p>
		
		<input type="text" name="uploadNeed" maxlength="1" />
		<br />
		<input type="submit" value="Los" />
	</form>
	
	<p>&raquo; <a href="gallerie.php">Zur Gallerie</a></p>
</body>
</html>

uploadForm2.php
PHP:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
	<form enctype="multipart/form-data" method="post" action="processFile.php">
		<?php
			$n			= "\n";
			$uploadNeed = $_POST['uploadNeed'];
			for($i=1; $i<=$uploadNeed; $i++)
			{
				echo 'File '.$i.' ) <input type="file" name="uploadFile'.$i.'" id="uploadFile'.$i.'" /> '.$n.'';
				echo '<br>&nbsp;</br> '.$n.'';
			}
		?>
		
		<input type="hidden" name="uploadNeed" value="<?php echo $uploadNeed;  ?>" />
		<input type="submit" value="Hochladen" />
	</form>
</body>
</html>

processFile.php
PHP:
<?php
	$n			= "\n";
	$uploadNeed	= $_POST['uploadNeed'];
	
	//starte forschleife für upload
	for($i=1; $i<=$uploadNeed; $i++)
	{
		$file_name	= $_FILES['uploadFile'.$i]['name'];
		
		//shlashes aus dem namen entfernen
		$file_name	= stripslashes($file_name);
		$file_name	= str_replace("'", "", $file_name);
		
		//datei hochladen
		$copy		= copy($_FILES['uploadFile'.$i]['tmp_name'], 'uploads/'.$file_name);
		
		//prüfen, ob hochgeladen wurde
		if ($copy == true) {
			echo ''.$file_name.' wurde <b style="color:green">erfolgreich hochgeladen!</b> <br /> '.$n.'';
		} else {
			echo ''.$file_name.' wurde <b style="color:red">nicht erfolgreich</b> hochgeladen! <br /> '.$n.'';
		}
	} //forschleife beenden
	
	echo '<hr /> '.$n.'';
	echo '<a href="upload.php">Zurück zur StartSeite</a> | '.$n.'';
	echo '<a href="gallerie.php">Zur Gallerie</a> '.$n.'';
?>


Vielleicht kannste ja was damit anfangen
 
Hab da vor einer Weile auch mal ein Script für meine Seite gebastelt.

PHP:
<?php
//Beispiel für das auslesen
if (isset($_POST["Submit"])){
    $i = 0;
    
    foreach($_FILES["upload"] as $data){
        #Files verschieben
        $tmp_name = $_FILES["upload"] ["tmp_name"][$i];
        $orig_name = $_FILES["upload"] ["name"][$i];
        $zielpfad = "upload/".$orig_name;        
        move_uploaded_file($tmp_name, $zielpfad);
            
        #Array hochzählen    
        $i++;
    }
}



?>
<p>Fileupload: <br>
<form action="#" method="post" enctype="multipart/form-data" name="fileupload">
<?php
    $maxupload = 20;
    $maxfilesize = 5;
    $felder = $maxupload/$maxfilesize;
    
    for($i=0;$i<$felder;$i++){
        print '<input type="file" name="upload[]"><br>';
    }
    print '<input type="hidden" name="felder" value="'.$felder.'">';
?>
  

  <input type="Submit" name="Submit" value="Submit">
</form>
 
Zurück