Matt: Fehler bei DateiUpload

Hi,

ich bekomme immer folgende Fehlermeldung und der Upload wird dadurch auch nicht vollzogen:

Notice: Undefined index: probe in /srv/www/xxx/htdocs/documents/upload.php on line 4

Notice: Undefined index: probe in /srv/www/xxx/htdocs/documents/upload.php on line 6

Notice: Undefined index: probe in /srv/www/xxx/htdocs/documents/upload.php on line 8

PHP Version 4.3.x, FileUpload On

Script:
Formular verweist auf upload.php (Upload soll in selben Ordner gesichert werden)

<?php
error_reporting(E_ALL);

move_uploaded_file($_FILES['probe']['tmp_name'], $_FILES['probe']['name']);
    printf("Die Datei %s steht jetzt zur Verfügung.<br />\n",
      $_FILES['probe']['name']);
    printf("Sie ist %u Bytes groß und vom Typ %s.<br />\n",
      $_FILES['probe']['size'], $_FILES['probe']['type']);
?>

Danke!

  1. Hallo Matt,

    Dann wird dein Filefield warhrscheinlich nicht 'probe' heissen.

    Gruß,

    Dieter

    1. Hallo Matt,

      Dann wird dein Filefield warhrscheinlich nicht 'probe' heissen.

      Gruß,

      Dieter

      Das ist ja der Hammer. Mit Formularfeld: <... name="probe">
      geht es nicht, aber mit <... name='probe'> geht es?? ;)

      1. hi,

        Das ist ja der Hammer. Mit Formularfeld: <... name="probe">
        geht es nicht, aber mit <... name='probe'> geht es?? ;)

        Das ist kein Hammer, sondern unglaubwürdig.

        Kannst du diese These mal mit einem Quelltextbeispiel untermauern?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hallo Matt,

        geht es nicht, aber mit <... name='probe'> geht es?? ;)

        *augenverleier*

        Gruß,

        Dieter

      3. Hello,

        Das ist ja der Hammer. Mit Formularfeld: <... name="probe">
        geht es nicht, aber mit <... name='probe'> geht es?? ;)

        Welchen Browser hast Du, welchen Zeichensatz verwendest Du und was zeigt der _Browser_ im Quelltext an? Das, was Du in PHP auf die Reise schickst, ist nicht alleine relevant. Da gibts schon noch ein paar andere "Verkurbelstellen"...

        Was kommt denn im Script auf dem Server an?
        Lass Dir mal $_FILES anzeigen
        mit var_dump() http://de3.php.net/manual/de/function.var-dump.php
        oder print_r() http://de3.php.net/manual/de/function.print-r.php

        Außerdem sollte als erstes immer der Fehlerwert auf Existenz und identisch 0 geprüft werden

        if(isset($_FILES['probe']['error']) and $_FILES['probe']['error'] === 0)
        {
          ## nur dann wurde _eine_ Datei fehlerfrei hochgeladen
        }

        Wenn $_FILES['probe']['error'] ein Array ist, wurden _mehrere_ Dateien hochgeladen.

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

  2. Hi,

    move_uploaded_file($_FILES['probe']['tmp_name'], $_FILES['probe']['name']);

    Hm. Du speicherst die Datei also unter einem Namen, der Dir vom User genannt wurde?
    Aber doch hoffentlich wenigstens in einem Verzeichnis, das nicht per http direkt erreichbar ist ...

    Sonst könnte doch tatsächlich jemand eine Datei mit Namen .htaccess in Dein Verzeichnis hochladen und damit ggf. Zugriffsschutz aushebeln (allow from all + satisfy any) oder gar sämtliche Zugriffe auf das Verzeichnis sonstwohin umleiten (Rewrite ...) usw.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.