Wo ist das Problem dabei? Man kann Dateiname und enthaltendes Verzeichnis kapseln. Der Dateiname steht in der DB, der Verzeichnisname in einer Config Datei oder in einer anderen Tabelle (wenn man ein Backend zum Verwalten hat), o.ä.
Ich versteh da das Problem ehrlich gesagt nicht.