Dateidatum beim Upload

Hallo zusammen,

Ich möchte gerne, dass das originale Dateidatum beim Upload erhalten bleibt. Natürlich ist interessant, wann man ein Dokument in Dolibarr hochgeladen hat. Aber das eigentliche Dateidatum zu verlieren beraubt einen doch einer wichtigen Sortiermöglichkeit. Ist das ohne Eingriff in den Quelltext möglich?

Mit Grüßen

Kannst du etwas näher ausführen was du damit meinst und wofür du das brauchst? Ich nehme an du meinst das Erstell- und Änderungsdatum unter z.B. Windows. Da wirst du meines Wissens nach nicht drumherum kommen das manuell irgendwo nachzuhalten. Das sind Metadaten von deinem Dateisystem, die natürlich beim kopieren (uploaden) der Datei auf den Server verloren gehen. Die hochgeladene Datei ist quasie nur noch eine Kopie in einem neuen Dateisystem, die dann entsprechend auch neue Metadaten enthält, sprich ein neues Erstell- und Änderungsdatum.

Die hochgeladene Datei ist keine Kopie und insofern auch keine neue Instanz der Datei, sondern das Original. Die Datei wird in die Cloud zu Dolibarr bewegt. Es besteht kein Anlass, das Datum zu ändern bzw. zu setzen. Andere Cloudlösungen wie z.B. Nextcloud schaffen es auch, das Originaldatum zu erhalten. Ist das per Schalter in der Config wählbar oder muss ich mir den Quelltext ansehen?

Mit Grüßen

Hi!

nur für mein Verständnis. Was ist dann eine hochgeladene Datei wenn keine Kopie?
Interessant wäre auch die Erklärung an welcher Stelle Dateien hochgeladen werden und von welchem Datum ist überhaupt die Rede? Erstellungsdatum, Änderungsdatum? Letzter Zugriff Datum?

Also einen Schalter zum Thema “Datum” von hochgeladenen Dateien gibt es mit Sicherheit nicht.

Mit Eingriffen in den Code kann man bestimmt abstellen das Dolibarr Präfixe an Dateien anhängt aber sich Quelltext anzuschauen hilft auf jeden Fall das System besser zu verstehen.

VG

Du hast mich mißverstanden. Ob die Datei die du hochladen möchtest ein Original ist oder nicht, ist irrelevant. Aus technischer Sicht ist die resultierende Datei nach einem Upload immer eine neue Kopie. Und damit hat sie auch immer den Uploadzeitpunkt als neue Metadaten für “Erstellt” und “Letzte Änderung” das kannst du nicht ändern! Wenn die diese Daten deines Originaldokuments auch auf der Kopie nachhalten möchtest, musst du diese extra irgendwo, manuell einpflegen.

1 „Gefällt mir“

Erstens geht es um den Anwender, nicht um den Admin. Mit welchem Dateidatum hat der Anwender zu tun? Er sieht das Änderungsdatum der Datei.
Zweitens wird bei keinem System das Änderungsdatum einer Datei verändert, nur weil man sie kopiert, weder unter Windows noch Mac noch Linux.
Man könnte anführen, dass die Datei ja in Dolibarr, also auf einem anderen System neu erzeugt wird. Das ändert aber nichts an der Tatsache, dass der Inhalt der Datei zu einem bestimmten Datum zuletzt geändert wurde und dieses Datum als Information erhalten bleiben sollte.
Gruß

Ok nochmal etwas detaillierter: Wenn du eine Datei von Ordner A in Ordner B auf deinem Windows PC kopierst erstellst du eine Kopie im gleichen Dateisystem mit einem neuen Erstellungsdatum, Windows kann hier typischerweise die Metadaten aus dem eigenen Dateisystem für die Kopie übernehmen, sodass dein Änderungsdatum erhalten bleibt. Das funktioniert z.B. idR auch, wenn du in einem Netzwerk Dateien hin und her kopierst.

Wenn du allerdings eine Datei über z.B. FTP auf einen Server hochlädts hängt es hier z.B. von dem zur Übertragung genutzten Programm und dem Dateisystem auf dem Server ab, ob und welche dieser Metadaten übernommen werden können. Es kann sein, dass das Änderungsdatum erhalten bleibt, ist aber nicht immer sichergestellt. Und zwar deshalbt nicht, weil es kein Teil deiner Datei ist, sondern zusätzliche Attribute zu dieser Datei, die von deinem Dateisystem verwaltet werden. Diese Attribute müssen also zusätzlich zur eigentlichen Datei übertragen und dann bei deiner hochgeladenen Kopie wieder eingesetzt werden.

Wenn du jetzt aber eine Datei in einer Webapp die in PHP programmiert wurde - wie Dolibarr - hochlädtst, gehen diese Metadaten verloren. Die PHP Dateiübertragung nimmt diese Daten mWn nicht auf und kann diese nicht übertragen. Du müsstest diese also manuell einsetzen.

[EDIT]
Letzteres stimmt nicht ganz, du musst das nicht zwangsläufig manuell setzen. Man könnte es z.B. über Javascript auslesen, ein verstecktes Input Feld mit dem Formular senden und dann nach dem Upload in der Kopie auf dem Server das last modified Attribute entsprechend dieses Upload feldes anpassen.

1 „Gefällt mir“