Hallo, ich habe versehentlich auf einer mit phpwcms betriebenen Webseite den Ordner filearchive/ gelöscht . Ja, ich mache Backups, halte die aber "nur" ein Jahr vor. Die Löschung geschah ziemlich genau im August 2019. Das ist bisher nicht aufgefallen, weil dort immer noch ein altes phpwcms 1.7.9 läuft und wir noch ~2500 Bilder in content/images haben. Erst jetzt als ich ein Upgrade durchführen wollte (wird ja mal Zeit ) ist das aufgefallen.
Jetzt die Frage: Wie komme ich von den in der Datenbank gespeicherten Bildname auf die Namen unterhalb von content/images/ und filearchive/. Ich brauch keine fertige Lösung (wobei das natürlich am einfachsten wäre ). Ich spreche fließend php und sql und könnte das sich selber bauen. Aber auch nach etwas stöbern im Quellcode konnte ich die entschiedenen Stellen nicht finden. Kann mir da jemand einen Tipp geben, was ich mir genauer ansehen muss?
Ja, ich weiß, dass in content/images/ das gleiche Bild in unterschiedlichen Auflösungen liegen kann. Daher muss ich das größte finden und vermutlich auch in allen Artikeln nach den Auflösungen suchen .
Für jeden Hinweis dankbar,
Thomas
Ordner filearchive/ gelöscht
- Oliver Georgi
- Site Admin
- Posts: 9905
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Ordner filearchive/ gelöscht
Das ist natürlich ärgerlich und keine gute Backup-Strategie. Ich habe mir angewöhnt immer möglichst ein Vollarchiv irgendwo liegen zu haben oder aber eine Entwicklungsumgebung, auf die man immer mal zumindest genau diesen Ordner synchronisiert + die Datenbank.
Aber gut, das Kind liegt im Brunnen.
In alten Versionen aus den Hashes im
Und universell ist das hier, da wird eigentlich alles sichtbar, was im System bezüglich der Bildgenerierung so passiert:
https://github.com/slackero/phpwcms/blo ... e.php#L231
Um jetzt Treffer in
Wenn es dann für eine der Kombinationen einen Treffer gibt, kennst Du den Dateinamen für
Natürlich gilt es zu beachten, dass Du dann bei mehreren Treffern pro Durchlauf einer Bilddatei, das größte und möglichst unbeschnittene Bild wählst.
Aber gut, das Kind liegt im Brunnen.
In alten Versionen aus den Hashes im
content/images
die passende Datei in der Datenbank zurückholen zu wollen, ist sehr aufwendig. Die Zuordnung der Dateien zu den Hashes aus dem Filearchiv ist noch relativ simpel. Aber das Generieren der Dateinamen in content/images
passiert hier: https://github.com/slackero/phpwcms/blo ... rt.inc.phpUnd universell ist das hier, da wird eigentlich alles sichtbar, was im System bezüglich der Bildgenerierung so passiert:
https://github.com/slackero/phpwcms/blo ... e.php#L231
Um jetzt Treffer in
content/images
zu erzeugen, müsstest Du Dir ein Script bauen, dass alle Bildfiles aus der Dateiverwaltung durchgeht und versucht, adäquate Hashes.ext
für content/images
zu generieren. Du musst dazu alles mit den im System benutzen Bildgrößen und – falls zutreffend – zusätzlich für beschnittene Bilder generieren.Wenn es dann für eine der Kombinationen einen Treffer gibt, kennst Du den Dateinamen für
filearchive
, kannst das Bild dorthin kopieren, umbenennen und die Werte für das Bild in der Datenbank anpassen (Größe, Dimensionen).Natürlich gilt es zu beachten, dass Du dann bei mehreren Treffern pro Durchlauf einer Bilddatei, das größte und möglichst unbeschnittene Bild wählst.
Re: Ordner filearchive/ gelöscht
Danke für die promte Antwort. Da werde ich mal rein sehen. Wenn es mir gelingt stelle ich das Skript zur freien Verfügung
Re: Ordner filearchive/ gelöscht
Und der Ordner ist auch ganz sicher gelöscht?
Manchmal passiert es ja auch, dass man einen Ordner versehentlich anklickt und dabei in einen benachbarten Ordner verschiebt.
Manchmal passiert es ja auch, dass man einen Ordner versehentlich anklickt und dabei in einen benachbarten Ordner verschiebt.