Ankündigung

Einklappen
Keine Ankündigung bisher.

Upload-Formular funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • Upload-Formular funktioniert nicht

    Ich habe ein normales Upload-Formular:

    upload.html

    PHP-Code:
    <html>
    <head>
    <title>Datei-Upload</title>
    </head>

        <body>
        <h1> Laden Sie Ihre Artikeldatei hoch:</h1
        
            <form enctype="multipart/form-data" action="upload.php" method="post">
    Datei:        <input type="hidden" name="MAX_FILE_SIZE" value="100000">
                <input type="file" name="datei"><br>
                <input type="submit" name="submit" value="Hochladen">
            </form>

    <?php
    // Dateiinformationen (Ausgabe über Schleife)
    if (isset($_FILES["datei"])) {
    foreach (
    $_FILES["datei"] as $key $element) {
    echo 
    "[$key] => $element<br>";
    }
    }
    ?>

        </body>
    </html>
    und die entsprechende upload.php

    PHP-Code:
    <html>
    <head>
    <title>Datei-Upload</title>
    </head>
    <body>

    <?php
        
    // Prüfen des Array $_FILES
        
    if (isset($_FILES["datei"])) {

        
    // Upload-Status
        
    if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {

        
    // Dateiname und Dateigrösse
        
    if (preg_match($regExp,$_FILES["datei"]["name"]) &&
        
    $_FILES["datei"]["size"] > && $_FILES["datei"]["size"] < 100000) {

        
    // Temporäre Datei in das Zielverzeichnis des Servers verschieben.
        
    move_uploaded_file($_FILES["datei"]["tmp_name"],"shots/".$_FILES["datei"]["name"]);
    }
    else {
    echo 
    "Es ist ein Fehler aufgetreten.";
    }
    }
    }
    ?>
    </body>
    </html>

    Es soll eine XML-Datei hochgeladen werden.

    Wenn ich nun über duchsuchen eine Datei auswähle und Hochladen klicke, passiert jedoch leider bei mir gar nichts, keine Fehlermeldung - nix, es wird nach wie vor das Formular mit dem ausgesuchten Dateinamen angezeigt.

    Ich habe schon durch dieses Forum gesurft, komme aber leider nicht selber auf die Lösung ...

    Danke im Voraus
    Randy1990

  • #2
    Bitte error_reporting(E_ALL); benutzen.

    Was soll das Skript machen?? Vielleicht hast du den falschen Ansatz.

    Kommentar


    • #3
      Die Aufgabenstellung ist, dass diese Seite die Funktion anbieten soll, eine Datei im XML-Format hochladen zu können, die dann die alte Datei ersetzt. Das ganze in Kombination mit einer passwortgeschützten Administrationsseite - siehe meinen anderen Beitrag von heute.

      Kommentar


      • #4
        User Contributed Notes
        move_uploaded_file
        Dan Delaney 13-Oct-2008 01:41
        For those using PHP on Windows and IIS, you SHOULD set the "upload_tmp_dir" value in php.ini to some directory around where your websites directory is, create that directory, and then set the same permissions on it that you have set for your websites directory. Otherwise, when you upload a file and it goes into C:\WINDOWS\Temp, then you move it to your website directory, its permissions will NOT be set correctly. This will cause you problems if you then want to manipulate that file with something like ImageMagick's convert utility.

        [er meint diesen Beitrag: http://www.php.de/php-einsteiger/492...ter-seite.html ]

        Kommentar


        • #5
          also, mir ist aufgefallen, in der upload.html ist bei
          Code:
          <h1> Laden Sie Ihre Artikeldatei hoch:</h1
          der schliessende Tag nicht zu.

          Und nochwas: Funktioniert das überhaupt, php script in einer html Seite?

          Kommentar


          • #6
            Zitat von Element H8 Beitrag anzeigen
            also, mir ist aufgefallen, in der upload.html ist bei
            Code:
            <h1> Laden Sie Ihre Artikeldatei hoch:</h1
            der schliessende Tag nicht zu.

            Und nochwas: Funktioniert das überhaupt, php script in einer html Seite?
            1. Ist wahrscheinlich nicht relevant, da er IE6 nutzt(der ignorierts).
            2. Kommt auf die Konfiguration, aber das könnte ein wichtiger Knackpunkt sein. Gut gesehen, wäre mir nicht aufgefallen. Thematisch jedoch unwichtig.

            Kommentar


            • #7
              Zitat von http://www.php.net/manual/de/features.file-upload.php
              Beispiel #1 Formular für den Dateiupload
              <form enctype="multipart/form-data" action="_URL_" method="POST">
              <input type="hidden" name="MAX_FILE_SIZE" value="30000">
              Send this file: <input name="userfile" type="file">
              <input type="submit" value="Send File">
              </form>
              Häufige Fehler: PHP: Häufige Probleme - Manual

              Kommentar


              • #8
                Nochmal zur Datei upload.html:

                PHP-Code:
                <?php 
                // Dateiinformationen (Ausgabe über Schleife) 
                if (isset($_FILES["datei"])) { 
                foreach (
                $_FILES["datei"] as $key $element) { 
                echo 
                "[$key] => $element<br>"


                ?>
                In der foreach -Zeile war wohl
                PHP-Code:
                $key => $element 
                gemeint, oder? Aber vielleicht auch nur ein Tippfehler...

                Kommentar


                • #9
                  In upload.php gibt es mehrere Fälle, in denen das Skript einfach garnichts ausgibt und das ist schlecht.
                  if (preg_match(...) && ...) {
                  // positiv
                  }
                  else {
                  // negativ
                  }
                  Das ist die einzige Stelle im Skript, an der auch im Fehlerfall etwas ausgegeben wird. Das solltest Du hier für alle if-Konstrukte so umsetzen.

                  Kommentar


                  • #10
                    Ich würde eine Wächterstruktur vorschlagen: Codeoptimierung:Wächter - PHP.de Wiki

                    Kommentar

                    Lädt...
                    X