Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateiupload: Undefined offset

Einklappen

Neue Werbung 2019

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

  • Dateiupload: Undefined offset

    Hallo,

    ich möchte eine Bildergallerie machen, als Anleitung habe ich dieses Tutorial: http://www.php-einfach.de/experte/co...ildergallerie/

    Der Upload klappt, es befindet sich, wie gewünscht, ein Vorschaubild im Ordner img/thumbnails und das richtige Bild im Ordner img/uploads.

    Allerdings bekomme ich nach dem Upload immer die Fehlermeldung
    Notice: Undefined offset: 3 in C:\xampp\htdocs\gallery\upload.php on line 13
    Notice: Undefined offset: 3 in C:\xampp\htdocs\gallery\upload.php on line 14


    Die betroffenen Zeilen habe ich im Code grün markiert. Ich verstehe einfach nicht warum Heißt das es gibt $_FILES['datei']['type'] nicht? Dann müsste ich diese Fehlermeldung doch dreimal bekommen.

    Ein var_dump() gibt folgendes aus: string(10) "image/jpeg".

    Ich würde mich sehr freuen, wenn ihr mir hier weiterhelfen könnt, ich weiß wirklich nicht mehr was ich noch versuchen könnte.

    Liebe Grüße


    upload.php
    PHP-Code:
    <?php
        
    include("config.php");
        include(
    "thumbnail.php");
        
    $maximal_size $max_size 1024;
        
    $error '';
    //-- Datei überprüfen --//



        
    $a 0;
        while(
    $a $count_files)
            {
            if(
    $_FILES['datei']['type'] == "image/$filetypes[$a]"
            
    OR $_FILES['datei']['type'] == "application/$filetypes[$a]"
            
    OR $_FILES['datei']['type'] == "text/@filetypes[$a]")
                {
                
    $error TRUE;
                }
            
    $a++;
            }
    //-- Wenns fehlerhaft ist --//
        
    if($error != TRUE)
            {
            echo 
    'Du darfst nur die Dateitypen -> ';
            
    $a 0;
            while(
    $a $count_files)
            {
            echo 
    $filetypes[$a].', ';
            
    $a++;
            }
            echo 
    ' <- hochladen';
            }
    //-- Fehlerdiagnose bzw upload --//
        
    else
            {
            if(
    $_FILES['datei']['size'] > $min_size)
                {
                
    $min_size TRUE;
                }
            if(
    $_FILES['datei']['size'] < $max_size)
                {
                
    $max_size TRUE;
                }
            if(
    $min_size == "TRUE" AND $max_size == "TRUE")
                {
                
    move_uploaded_file($_FILES['datei']['tmp_name'], "$pfad".$_FILES['datei']['name']);
            
    //-- Thumbnail erstellen --//
                
    thumbnail($pfad."".$_FILES['datei']['name']);
                echo 
    'Deine Datei '.$_FILES['datei']['name'].' wurde erfolgreich hochgeladen.';
                }
            else
                {
                
    $error FALSE;
                echo 
    'Du darfst nur Dateien mit einer Größe von '.$min_size.' Bytes bis '.$maximal_size.' KB hochladen.';
                }
            }

    ?>
    config.php:
    PHP-Code:
    <?php
    $pfad        
    "img/upload/";                            # Pfad in dem die hochgeladenen Dateien gespeichert werden (Ordner muss existieren und mind. ChMod 755)
    $min_size     10;                                        # minimale Dateigröße in Bytes
    $max_size     1524288;                                    # maximale Dateigröße in Bytes -> 1024 Bytes = 1 KB / 1024 KB = 1 MB
    $count_files 4;                                        # Wie viele verschiedene Dateitypen soll es geben?
    $filetypes     = array('jpg','jpeg','gif');
    ?>]

    index.php
    HTML-Code:
    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body onload="switch_right()">
    <noscript>Für diese Seite musst du Java Script aktiviert haben!</noscript>
        <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="datei"><br>
        <input type="submit" name="upload" value="Hochladen">
        </form>
    </body>

  • #2
    PHP-Code:
    $count_files 4;                                        # Wie viele verschiedene Dateitypen soll es geben?
    $filetypes     = array('jpg','jpeg','gif'); 
    Da müsste Dir was auffallen.

    Zudem:
    PHP-Code:
    "text/@filetypes[$a]" 

    Kommentar


    • #3
      Es klappt
      Danke Jonas, du bist mein Held des Tages Ich suche seit gestern, ich hab mich so auf das $_FILES Array fixiert, dass ich nichtmal auf die Idee kam, woanders zu suchen

      Kommentar

      Lädt...
      X