Hello,
wie bekommt die var $endung die endnung $_FILES['userfile_doc']['tmp_name']
Das hat keine Endung.
Eine Endung hat nur $_FILES['userfile_doc']['name'].
Das ist der Name, den der Benutzer dem Upload mitgibt.
Erstmal schneidet man tunlichst den Dateinamen raus aus dem Pfad
$filename = basename($_FILES['userfile_doc']['name']);
Und dann kann man mittels der Funktion pathinfo()
http://de3.php.net/manual/en/function.pathinfo.php
Die Zerlegung betreiben.
Da aber die Endung für den vollständigen Filenamen nur eine Lüge des Users ist, ist diese sowiewso ziemlich wertlos. Da kann sich hinter einem "mein_bild.jpg" durchaus ein PHP-Script oder sonstige Gemeinheiten verstecken.
Bitte achtet darauf, dass Ihr keine Files unter dem "Originalnamen", den der User mit hochlädt, in Euer Dateisystem speichert. Da könnte dann ebenfalls schon mal ein Script, oder eine '.htaccess' dabei sein!
Außerdem sollte das Verzeichnis, in dem die Files geparkt werden, entweder außerhalb der DOCUMENT-ROOT liegen, oder mindestens die PHP-Engine abgeschaltet werden:
#.htaccess
php_value engine o
Die .htaccess-Datei sollte tunlichst NICHT durch PHP-Scripte (also den Webserver selber) beschreibbar sein!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg