Upload in einem Formular!

Seven Secrets

Erfahrenes Mitglied
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"]);
 

Seven Secrets

Erfahrenes Mitglied
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!
 

Tabuk

Erfahrenes Mitglied
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:

Seven Secrets

Erfahrenes Mitglied
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!