Content-Dateien durch Upload gleichen Dateinamens ersetzen
am 15.05.2012 - 16:10 Uhr in
Hallo zusammen,
ich verwende in einem Inhaltstyp ein Datei-Feld, so dass ich einem dieser Nodes beliebig viele Dateien per Upload hinzufügen kann. In anderen, beliebigen Inhalten (z.B. Artikel, Seiten) habe ich im Text Verlinkungen auf ebendiese hochgeladenen Dateien.
Nun möchte ich für eine der Dateien eine aktuelle Fassung hochladen, also die vorhandene Datei vollständig durch eine neue ersetzen. Alle Verlinkungen auf die Datei sollen natürlich nur noch die neue Fassung laden und die alte Datei soll komplett verschwinden.
Ich bekomme das nicht hin.
Beispiel für eine von mehreren ähnlichen Vorgehensweisen:
- Ich lade mit dem Dateifeld eines Nodes eine Datei namens "datei.txt" hoch. Die Datei landet unter exakt diesem Namen im privaten Dateiverzeichnis von Drupal.
- Ich verlinke die Datei in verschiedenen Texten anderer Nodes.
- Ich lösche die Datei aus dem Node, mit dem ich sie hochgeladen habe. Sie ist in dem Node nicht mehr vorhanden, aber als Datei immer noch im Drupal-Verzeichnis.
- Ich lade mit dem Dateifeld meines o.g. Nodes eine neue Fassung der Datei "datei.txt" hoch. Im Node wird sie exakt unter diesem Namen angezeigt, im Drupal-Dateiverzeichnis heißt sie aber "datei_0.txt.
- Alle Hyperlinks auf "datei.txt" verwenden weiterhin die alte Fassung.
Fragen:
- Kann ich auf die beschriebene Weise hochgeladenen Dateien überhaupt noch komfortabel ersetzen? Wenn ja, wie?
- Alternativ: Wie hätte ich besser vorgehen sollen, damit ich alte Dateiversionen relativ leicht durch neue ersetzen kann.
Ein einfaches Austauschen der Dateien per FTP habe ich probiert und das klappte auch eine Weile ganz gut. Allerdings aktualisieren sich dabei ja nicht die Drupal-Datenbank-Einträge und aktuell habe ich das Problem, dass so ausgetauschte Dateien fehlerhaft von Drupal ausgeliefert werden, wenn die Datei größer als vorher ist. Erst wenn ich die Dateigröße in der Datenbanktabelle file_managed von Hand korrigiere, geht's wieder. Allerdings möchte ich so auf Dauer natürlich nicht arbeiten.
Danke für Tipps und viele Grüße
Chennai
- Anmelden oder Registrieren um Kommentare zu schreiben

Modul "Upload File Replace"
am 15.05.2012 - 18:37 Uhr
This is a small utility module that automatically stops Drupal from renaming new files upload via filefield CCK.
http://drupalmodules.com/module/upload-file-replace-for-filefield-cck
Alte Dateiversionen löschen lassen
am 16.05.2012 - 13:54 Uhr
http://drupalmodules.com/module/upload-file-replace-for-filefield-cck
Danke, Ralph, für dieses praktische Modul.
Kennt jemand noch eine andere Variante, die ein echtes Ersetzen durchführt, ohne die alten Dateiversionen mitzuschleppen? Die Verzeichnisse sind ja sonst voll mit Dateileichen, die niemand mehr braucht.
Danke und Gruß
Ch.