Upload mehrerer Dateien gleichzeitig funktioniert nicht!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Upload mehrerer Dateien gleichzeitig funktioniert nicht!

    Hallo, ich brauche dringend hilfe. mein programm erkennt die dateien irgendwie nicht und zeigt die ganze zeit den fehkler an, das die datei nicht dem dateityp enspricht....
    bei dem hochladen einzelner dateien funktioniert es, aber nicht bei mehreren.

    der code:

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
     <meta name="generator" content="Scribe! 2 [[url]http://scribe.de[/url]]">
     <title>Unbenannt</title>
    </head>

    <body>


    <?php   
    $error
    =array();
    //Teil 1: Eingabeüberprüfungen, falls nicht erster Aufruf des Formulars
    if($_SERVER["REQUEST_METHOD"]=="POST")  //erster Aufruf:  ==GET
    {       


              
    }   

    //Teil 2: Formular ausgeben beim ersten Aufruf oder fehlerhafte Eingaben:
    if($_SERVER["REQUEST_METHOD"]=="GET" || count($error)>0)
    {
    ?>
    <form enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">

    <table border="1">

     

      <tr>
       <td colspan="3">Bild 1: <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> 
        <input name="userfile[1]" type="file"><br> 
        </td>
      </tr>
      <tr>
          <td colspan="3">Bild 2: <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> 
        <input name="userfile[]" type="file"><br> 
        </td>

      </tr>
      <tr>
          <td colspan="3">Bild 3: <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> 
        <input name="userfile[]" type="file"><br> 
        </td>

      </tr>
      <tr>
          <td colspan="3">Bild 4: <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> 
        <input name="userfile[]" type="file"><br> 
        </td>

      </tr>
      <tr>
         <td colspan="3">Bild 5: <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> 
        <input name="userfile[]" type="file"><br> 
        </td>

      </tr>
      <tr>
          <td colspan="3">Bild 6: <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> 
        <input name="userfile[]" type="file"><br> 
        </td>

      </tr>
     
     <tr>
     <td colspan="3">
     <input type="submit" value="Speichern" /> <input type="reset" />
     </td>
     </tr>

    </table> 


    </form> 

       <?php
       
      
    }
      else{   
      
    //Teil 3 Daten sind korrekt ausgef&uuml;llt, also werden sie gespeichert!  
          
    echo "Die Daten sind korrekt ausgef&uuml;llt und werden gespeichert<br />";
          
          
          
    /////Bilder Werden hochgeladen
          // In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden. 
        // In PHP kleiner als 4.0.3 verwenden man copy() und is_uploaded_file() anstatt von 
        // move_uploaded_file() 

        //Deklaration der gültigen mimetypen 
        
    $mimearray=array("image/gif""image/jpeg""image/pjpeg","image/x-png","image/png");

        
    //Upload verzeichnis 
        
    $uploaddir '../upload/'
        
    $file $_FILES['userfile'];
        echo 
    "<br />".$file."<br />";

        
    //Prüfen ob Formular gesendet wurde 

           // Prüfung auf Gültigkeit des Vordeklarierten MimeTyps 
                   
    if(in_array($_FILES['userfile']['type'],$mimearray)) 
               {         
               
                        foreach (
    $_FILES["userfile"]["error"] as $key => $error
                        {
                       if (
    $error == UPLOAD_ERR_OK
                       {
                          
    // dateiupload 
                                            
    if (move_uploaded_file($_FILES['userfile']['tmp_name'][$key], $uploaddir $_FILES['userfile']['name'][$key])) { 
                
                
                
                                          echo 
    "Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:\n"
                                          echo 
    "<br>"
                                    echo 
    "Name: ".$_FILES['userfile']['name'][$key]."<br>"
                                          echo 
    "Size: ".$_FILES['userfile']['size'][$key]."<br>";    
                                          echo 
    "Mime: ".$_FILES['userfile']['type'][$key]."<br>";            
                                          }else{ 
                               
    // Fehler beim Dateiupload 
                                          
    echo "Fehler beim Dateiupload"
                                          }             
                               }
                     }
               }else{ 
           
    //Fehlermeldung wenn Datei nicht den vordeklarierten MimeTypes entspricht 
           
    echo $_FILES['userfile']['name'][$key]." - ".$_FILES['userfile']['type'][$key]." ist nicht für den Upload gesattet"
           
           }  
          
          
          
    }
    ?>


    </body>
    </html>
    bitte schaut es euch genau an, da ich dringen hilfe brauche, weil das ein projekt ist, das ich morgen abgeben muss .. und bi dahin muss das ding laufen!

  • #2
    diese Zeile
    if(in_array($_FILES['userfile']['type'],$mimearray))

    $_FILES['userfile']['type'] ist doch ein array... Du müsstest da schon durch das FILES array durchgehen...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Und da dir diese Aussage
      http://www.php-resource.de/forum/sho...697#post566697
      Du musst den Code zum "Prüfen" des Typ schon in die Schleife schreiben ...
      nicht gefallen hat machst du einen neuen Thread dafür auf??
      Zuletzt geändert von jahlives; 09.01.2008, 14:02.
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar

      Lädt...
      X