Tom: File upload

Beitrag lesen

Hello,

Wie kann ich den Dateiname beim abspeichern abändern.
z.b. Das Bild das der User hochlöd heißt logo.jpg.
Allerdings soll es z.b. unter dem namen logo1.jpg gespeichrt werden.

Speichern tu ich ja mit folgender Funktion:
move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name'])

Grundsätzlich solltest Du auch an die Sicherheit denken.
Akzeptieren solltet Du als Namen daher ausschließlich den Basename, also den letzten Teil des übertragenen Namens (nach dem letzen Pfadseparierer).

PHP hat dafür eine Funktion: http://de3.php.net/manual/de/function.basename.php

und außerdem solltest Du prüfen, ob es sich tatsächlich um ein Bild handelt, und nicht etwa um ein ausführbares Programm oder Script. Dafür hat PHP die Funktion
http://de3.php.net/manual/de/function.getimagesize.php

if(getimagesize($path) !== false)
  {
    ### es ist ein Bild
  }

#------------------

$_parts = pathinfo($_FILES['datei']['name']);
  $filename_wo_ext = basename($_parts['basename'],'.'.$_parts['extension']);

$savepath = 'upload/' . $filename_wo_ext . $meinenummer . '.' . $_parts['extension'];

Ich hoffe, dass es Dir hilft.

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

Tom

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