Dateiupload mittels $_POST

Soo ich mal wieder ... hattet ja lange genug Ruhe ;)

Mal eine Frage zu $_POST – Bei Strato scheinen Formulareingaben nur akzeptiert zu werden wenn Sie im Script mittelst $_POST['variable’'] verarbeitet werden. Schön und Gut. Nun bastel Ich grade ein Script zum Upload welches zwei Felder hat.
HTML:
<input type="text" name="dateiname">
<input type="file" name="file" size="40" >
Aber da der Upload als nicht funktioniert hat, hab ich mir im PHP Script mal die Variablen ausgeben lassen
PHP:
echo $_POST['dateiname'];
echo $_POST['file'];
Und zu meiner Verwunderung durfte ich feststellen das der Dateiname wohl übergeben wird, allerdings „verschwindet“ dafür die Datei. Gebe ich aber
PHP:
echo $file;
ein, wird der Inhalt bzw. die übergebene Datei aus dem Dateifeld angezeigt.

Das Formular wird bei mir so eingeleitet :

HTML:
<form name="Formupload" method="post" action="upload.php" enctype="multipart/form-data">

PHP:
print_r($_POST);

zeigt mir die Datei auch nicht an, das einzige was ich dort angezeigt bekomme ist halt der Submitbutton und der Inhalt vom Textfeld.


So und nun frag ich mich warum ich diese Variable mit Post nicht prüfen kann ?! Oder Muss ich das ganze über $_FILES['file'] laufen lassen ?
 
Datei1
PHP:
<table border="0" cellpadding="10" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="51%" id="AutoNumber1">
  <tr>
    <td width="100%" bgcolor="#333333">
    
    <form action="login.php" method="post">
<p><font color="#C0C0C0" style="font-size: 11pt" face="Arial">Hier die Anzahl Ihrer 
Seiten angeben! (Maximal 9)</font></p>
		
<font color="#C0C0C0">
		
<input border="0" type="text" name="uploadNeed" maxlength="1" size="20" boarder="0" style="color: #C0C0C0; background-color: #666666" />&nbsp; 
<font face="Arial"><span style="font-size: 11pt">--&gt; zum Beispiel 2</span></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>
<input type="submit" value="Los" name="Los" /></form>
    
    </td>
  </tr>
</table>


Datei2
PHP:
 <form enctype="multipart/form-data" method="post" action="login.php">
        <?php
// hier auswählen wieviele Dateien ...

            $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" name="Hochladen" />
    </form>

Datei3
PHP:
// UPLOAD für mehrere Dateien!

 $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'], 'Upload/'.$lordner.'/'.$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.'';
        }

Hie rmal ein Upload für mehrere Dateien ...
Hast wohl vergessen dass das ganze dann ne TempDatei is etc. -.-
Kannst dass eh ganz leicht umbauen
 
@tiefschneetaucher

du kannst dateien ausschliesslich mit dem html-tag <input type="file" name="blabla" /> und der PHP-Variable $_FILES Dateien uploaden, anders gehts nicht.
 
Zurück