Fehler bei DateiUpload
Matt
- php
0 Dieter Raber0 Matt0 wahsaga0 Dieter Raber0 Tom
0 MudGuard
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!
Hallo Matt,
Dann wird dein Filefield warhrscheinlich nicht 'probe' heissen.
Gruß,
Dieter
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?? ;)
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
Hallo Matt,
geht es nicht, aber mit <... name='probe'> geht es?? ;)
*augenverleier*
Gruß,
Dieter
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
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