kostenloser Webspace werbefrei: lima-city


Upload-Fehler

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    piratentaverne

    piratentaverne hat kostenlosen Webspace.

    Hallo an alle! Ich habe ein Uploadscript, was mir einen Fehler anzeigt, nachdem ich auf upload drücke! Kann mir jemand helfen?

    Script:

    <?php
        error_reporting(E_ALL);
    
        // Funktionen definieren
        // -----------------------------------------------
        function checkUpload($myFILE, $file_extensions, $mime_types, $maxsize)
        {
            $errors = array();
            // Uploadfehler prüfen
            switch ($myFILE['error']){
                case 1: $errors[] = "Bitte wählen Sie eine Datei aus, die <b>kleiner als ".ini_get('upload_max_filesize')."</b> ist.";
                        break;
                case 2: $errors[] = "Bitte wählen Sie eine Datei aus, die <b>kleiner als ".$maxsize/(4056*4056)." MB</b> ist.";
                        break;
                case 3: $errors[] = "Die Datei wurde nur teilweise hochgeladen.";
                        break;
                case 4: $errors[] = "Es wurde keine Datei ausgewählt.";
                        return $errors;
                        break;
                default : break;
            }
            // MIME-Type prüfen
            if(count($mime_types)!=0 AND !in_array(strtolower($myFILE['type']), $mime_types)){
                $fehler = "Falscher MIME-Type (".$myFILE['type'].").<br />".
                          "Erlaubte Typen sind:<br />\n";
                foreach($mime_types as $type)
                    $fehler .= " - ".$type."\n<br />";
                $errors[] = $fehler;
            }
            // Dateiendung prüfen
            if($myFILE['name']=='' OR (count($file_extensions)!=0 AND !in_array(strtolower(getExtension($myFILE['name'])), $file_extensions))){
                $fehler = "Falsche Dateiendung (".getExtension($myFILE['name']).").<br />".
                          "Erlaubte Endungen sind:<br />\n";
                foreach($file_extensions as $extension)
                    $fehler .= " - ".$extension."\n<br />";
                $errors[] = $fehler;
            }
            // Dateigröße prüfen
            if($myFILE['size'] > $maxsize){
                $errors[] = "Datei zu groß (".sprintf('%.2f',$myFILE['size']/(4056*4056))." MB).<br />".
                            "Erlaubte Größe: ".$maxsize/(4056*4056)." MB\n";
            }
            return $errors;
        }
    
        // gibt die Dateiendung einer Datei zurück
        function getExtension ($filename)
        {
            if(strrpos($filename, '.'))
                 return substr($filename, strrpos($filename, '.')+1);
            return false;
        }
    
        // erzeugt einen Zufallswert
        function getRandomValue()
        {
            return substr(md5(rand(1, 9999)),0,8).substr(time(),-6);
        }
    
        // erzeugt einen neuen Dateinamen aus Zufallswert und
        // Dateiendung
        function renameFile ($filename)
        {
            return  getRandomValue().".".getExtension($filename);
        }
    
        // Werte zur Dateiprüfung initialisieren
        // -----------------------------------------------
        $maxsize = 4056*4056;
        $file_extensions = array('jpg', 'jpeg', 'jpe', 'gif', 'png', 'zip', 'rar');
        $mime_types = array('image/pjpeg', 'image/jpeg', 'image/gif', 'image/png', 'image/x-png', 'application/zip', 'application/rar');
    
        // Upload-Ordner definieren
        // -----------------------------------------------
        $ordner = "upload/";
    
        // Beginn des Skriptes
        // -----------------------------------------------
    
        echo "<html>\n";
        echo "<head>\n";
        echo " <title>Datei-Upload</title>\n";
        echo "</head>\n";
        echo "<body>\n";
    
        // Falls der Benutzer auf "Upload" gedrückt hat,
        // wird die Datei überprüft
        if(isset($_POST['submit']) AND $_POST['submit']=='Upload'){
            // Fehlerarray erzeugen
            $errors = array();
            $myFILE = $_FILES['Datei'];
            $errors = checkUpload($myFILE, $file_extensions, $mime_types, $maxsize);
            if(count($errors)){
                echo "<p>\n".
                     "Die Datei konnte nicht gespeichert werden.<br />\n";
                foreach($errors as $error)
                    echo $error."<br />\n";
                echo "<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
                     "</p>\n";
            }
            else {
                do {
                    $neuer_name = renameFile($myFILE['name']);
                } while(file_exists($ordner.$neuer_name));
                if(@move_uploaded_file($myFILE['tmp_name'], $ordner.$neuer_name)){
                    echo "<p>\n".
                          "Die Datei wurde erfolgreich gespeichert.<br />\n".
                          "<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
                          "</p>\n";
                }
                else{
                    echo "<p>\n".
                          "Die Datei konnte nicht gespeichert werden.<br />\n".
                          "Es ist ein Upload-Fehler aufgetreten.<br />\n".
                          "Bitte versuchen Sie es später erneut.<br />\n".
                          "<br />\n".
                          "Sollte der Upload noch immer nicht funktionieren, informieren Sie uns bitte per Email.<br />\n".
                          "<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
                          "</p>\n";
                }
            }
        }
        // Beim ersten Aufruf des Skriptes wird das
        // Upload-Formular angezeigt
        else{
            echo "<h1>Laden Sie ein Bild hoch!</h1>\n";
            echo "<h2>Erlaubte Dateiendungen sind:</h2>\n";
                foreach($file_extensions as $extension)
                    echo " - ".$extension."\n<br />";
            echo "<h2>Erlaubte Dateigröße:</h2>\n";
            echo " - maximal ".($maxsize/(1024*1024))." MB\n<br />";
            echo " <form ".
                 "action=\"".$_SERVER['PHP_SELF']."\" ".
                 "method=\"post\" ".
                 "enctype=\"multipart/form-data\">\n";
            echo "  <label for=\"Datei\">Datei auswählen</label>\n";
            echo "  <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$maxsize."\" />\n";
            echo "  <input type=\"file\" name=\"Datei\" id=\"Datei\" />\n";
            echo "  <input type=\"submit\" name=\"submit\" value=\"Upload\" />\n";
            echo " </form>\n";
        }
    
        echo "</body>\n";
        echo "</html>\n";
    ?> 
    
    <html>
    <body>
    <a href="start.php">Zurück</a>
    </body>
    </html>


    Und die Fehlermeldung:

    Die Datei konnte nicht gespeichert werden.
    Es ist ein Upload-Fehler aufgetreten.
    Bitte versuchen Sie es später erneut.
    
    Sollte der Upload noch immer nicht funktionieren, informieren Sie uns bitte per Email.


    Das heißt, dass das Script ja funktioniert, aber es einen Fehler gibt! Nur wo?

    Beitrag zuletzt geändert: 19.7.2010 17:28:41 von piratentaverne
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Bitte editier deinen obigen Beitrag um die Fehlermeldung, welche erscheint!
  4. Autor dieses Themas

    piratentaverne

    piratentaverne hat kostenlosen Webspace.

    Ne, es geht jetzt! Ich habs hinbekommen! Es lag am Webspace! Anscheinend erlaubt er keinen Upload oder so!

    Beitrag zuletzt geändert: 19.7.2010 17:58:41 von piratentaverne
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!