Page 2 of 2

Entfernen überflüssiger Bilder aus dem Verzeichnis /content/

Posted: Sun 5. Feb 2006, 19:05
by flip-flop
Entfernen überflüssiger Bilder aus dem Verzeichnis /content/mages/:

Das Suchen im Verzeichnis und löschen von Dateileichen ist sehr aufwendig. Außerdem stünden die Verweise auf die Bilder immer noch in der Datenbank.
- Und so wird es gemacht:
Das Prinzip beruht darauf, das in der Tabelle phpwcms_file alle Informationen enthalten sind, die für eine automatische Neugenerierung der Bilder wichtig sind. Vor allem werden nur die Bilder neu erstellt, die in der Dateizentrale vorhanden sind. Der Rest, also die gelöschten und ausgetauschten Bilder werden nicht mehr generiert.

- 1. In der Dateizentrale alle nicht benötigten Dateien löschen.
- 1.1 Papierkorb leeren.
- 2. Unter Admin im Menü links: Cache und Dateien löschen.
- 3. Logout
- 4. Den Ordner /content/images/ leeren, bis auf die index.html.
- 5. phpMyAdmin aufrufen
- 6. Die Tabelle phpwcms_imagecache aktivieren
- 7. Backup dieser Tabelle: Export -> und lokal speichern
- 8. Anzeigen wählen
- 9. Zeige: 1000 Datensätze, beginnend ab 1 -> Zeige aktivieren
-10. Unten links "Alle auswählen"
-11. LÖSCHEN
-12. Die Tabelle ist nun leer. Wir sollten noch den Index umstellen.
-13. Oben rechts "Optionen" anwählen
-14. Unten unter Tabellenoptionen: auto_increment auf 1 stellen -> OK

Die Datenbank wartet nun darauf wieder gefüllt zu werden.
-15. Browsercache löschen. -> Einloggen in das Backend.
-16. Datei -> alle Ordner nacheinander aufrufen. -> Die Thumbs werden neu generiert.
-17. Im Frontend über die Site browsen. Die Bilder werden neu generiert.
Ist das nun alles passiert, befinden sich im Ordner /content/images/ nur die Bilder, die
tatsächlich benutzt werden, der Rest ist verschwunden, bzw. in der Datensicherung, wenn gemacht.

Beim Generieren der Bilder kann es zu Verzögerungen kommen, also nicht gleich erschrecken, wenn ein Bild nicht sofort vorhanden ist. Das hängt mit den Ressourcen zusammen die der Provider für die Verarbeitung freigibt (Vor allem Rechenzeit). Laufen mehrere Jobs auf der Maschine quasie parallel, wird natürlich die Rechenzeit gleichmäßig aufgeteilt und das kann je nach Maschienenleistung dauern. Ein Job wird nicht zwangsläufig nach z.Bsp. einer Minute Wartezeit abgebrochen. Hier zählt die vertraglich vereinbarte genutzte Rechenzeit pro Task.

Gruß Knut

Posted: Sun 5. Feb 2006, 19:19
by pico
Hi

also zum löschen sei noch folgendes anzumerken - es geht doch schon ;)
und zwar so:

1. in der Dateizentrale die Bilder/Dateien löschen
2. auf die Registerkarte 'Papierkorb' gehen und dort die Dateien nochmals löschen
3. zum Admin-Menue gehen und dort 'Dateien final löschen' anklicken
4. dadurch werden die Dateien un den Ordner ../phpwcms_filestorage/can_be_deleted verschoben
5. dort die Dateien mittels FTP löschen
6. die Datenbank mittels phpMyAdmin öfnnen
7. zur Tabelle phpwcms_file gehen
8. alle Tabelleneinträge bei denen f_trash != 0 ist löschen
Zumindest gibt es für den Ordner /content/images/ eine Lösung die für versierte Anwender machbar ist. Ich meine eine saubere Lösung, nicht einfach den Ordner leeren und die Bilder neu generieren lassen, dabei wird die Datenbank zugemüllt
also dass bei dem löschen des Inhaltes von dem Ordner ../content/images irgendetwas mit der Datenbank passiert stimmt nicht, es werden lediglich die Thumbnails neu erzeugt, aber ohne einen neuen Eintrag in die Datenbank.

trotz alle dem, ist die Wartung des Bildbestandes mit den Hashcode-Dateinamen recht unübersichtlich - solange es mir noch nicht gelungen ist, diese 'verhashung' der Dateinamen wieder aus dem Programmcode zu entfernen - gieht es nur, indem man die Bilder/Dateien mittels der Downloadfunktion aus dem Filecenter wieder auf seinen Rechner downzuladen - jetzt haben sie wieder den richtigen Namen und man kann z.B. bei einem Umzug oder einem 'Neuaufbau' einer Site die Bilder und Dateien wieder verwenden.