Hallo und guten Tag,
Ist es möglich auf dem Server den Orginal Pfad abzuspeichern, von wo aus die Datei upgeloadet wurde?
$_FILES['uploaddatei']['name']
über klappt das solange man es zuhause testest, aber wenn es auf dem Server ist, wird nur der Ort abgespeichert wo sie zwischengespeichert wurde auf dem Server?
$_FILES['uploaddatei']['name'] | Name der Datei am Client laut Clientaussage $_FILES['uploaddatei']['type'] | MIME-Type der Datei laut Clientaussage $_FILES['uploaddatei']['tmp_name'] | Pfad zur Temporärdatei auf dem Server $_FILES['uploaddatei']['error'] | Error-Nummer laut PHP-System, Serverangabge $_FILES['uploaddatei']['size'] | Größe der Temporärdatei laut Serverangabe
Vertrauenswürdig sind nur die letzten drei Angaben, da sie auf dem Server ermittelt werden. Der Client kann als Value im Header mitsenden, was er will. Obwohl übliche Browser nur den reinen Dateinamen der Datei auf dem Client ohne Pfad senden sollten, kann da trotzdem schon mal ein Pfad drinstehen, wenn z.B. jemand einen OpenHTTP-Requester einsetzt.
Man muss auch darauf achten, dass auf dem Server keine (unerlaubten) Pfade und/oder unerlaubte Dateinamen verwendet werden. Es gibt eine ganze Liste von gefählichen Dateinamen, je nach Ziel-OS. Der Ziel-Dateiname sollte daher immer auf dem Server erzeugt werden!
siehe hierzu auch den Wiki-Artikel unter PHP zum File-Upload.
https://wiki.selfhtml.org/wiki/PHP/Anwendung_und_Praxis/File_Upload
Grüße
TS