Upload in einem Formular!

Ich habe es jetzt wie folgt probiert, nur Leider bekomme ich so auch keine Datei-Erweiterung. Warum?

PHP:
$tempname = $_FILES['personalrecord']['tmp_name'];
$pfad_info = pathinfo($tempname);
copy("$tempname", "applicant/$uid-$last_name-personalrecord"); 
rename("applicant/".$uid."-".$last_name."-personalrecord","applicant/".$uid."-".$last_name."-personalrecord.".$pfad_info["extension"]);
 
Die Lösung war dann doch ganz einfach! Da ja die $tempname das temporäre Hick-Hack speichert ohne Endeung, mußte ich nur den eigentlichen Dateiname nutzen!

PHP:
$tempname = $_FILES['personalrecord']['tmp_name'];
$name = $_FILES['personalrecord']['name'];
$pfad_info = pathinfo($name);
copy("$tempname", "applicant/$uid-$last_name-personalrecord.".$pfad_info["extension"]);

So wird ein Schuh draus! Danke trotzdem an alle! Bis demnächst!
 
Hallo,
das ist so nicht ganz richtig.
In $_FILES[][] wird viel mehr übergeben.
Ich weiß nicht wie fit du mit Arrays bist, aber probier mal print_r($_FILES)
in deinem Script aus.
link
z.B.:
PHP:
          $type = $_FILES['personalrecord']['type']
        if ($type = "image/pjpeg") $mime = ".jpg";
   elseif ($type = "image/gif") $mime = ".gif";
        else $mime = ".xxx";
usw.
(oder switch case ;))
... "applicant/$uid-$last_name-personalrecord".$mime;

Wichtig:
Auch wegen der Sicherheit !

MfG
Tabuk
 
Zuletzt bearbeitet:
Okay, habe ich auch gelesen, nur ging bei der Kopiererei und dem gleichzeitigem Umbenennen immer die Erweiterung verloren. So mußte ich mir einen weg bauen. Da es mit dem Auslesen der erweiterung aus dem Temp-name nicht ging, mußte ich es so lösen. Naja, nicht schön, aber selten. Welche Dateiendungen erkennt $_FILES eigentlich. dazu habe ich noch nix gefunden.

Greetz!
 
Zurück