Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 11. April 2019 22:14

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 201

Liste aller verwendeten Bilder

Hallo allerseits,

ich habe einen Messy-Kunden.
Da Stapeln sich haufenweise Bilder in den diversen Bildordnern. Vieles sehr alt und ungenutzt.
Der GBFilepicker braucht inzwischen sehr lange um die Liste überhaupt anzuzeigen, ausserdem is es wirklich nicht mehr einfach etwas zu finden.

Gibt es ein Script mit dem man eine Liste aller verwendeten Bilder erzeugen kann, anhand der man dann per FTP manuell aufräumen könnte?
Oder was noch viel besser wäre, gibt es ein "Purge-Images" Tool bzw. ne Funktion die das automatisch macht?

Kann mir eventuell jemand weiterhelfen?

viele Grüße

Beitrag geändert von bd0 (11. April 2019 07:41)

Offline

#2 11. April 2019 07:32

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.844
Webseite

Re: Liste aller verwendeten Bilder

Warum lädst du die Bilder nicht per FTP auf deinen PC und räumst auf und lädst anschliessend die bereinigten Dateien wieder auf den Server. Das dürfte wahrscheinlich einfacher sein als irgendein Script zu bauen.

Musst du wissen welche Bilder aktuell noch in Verwendung sind? Dann könnte per Script auch eine Liste aller Dateien erstellt werden und die Liste dann mit der DB abgeglichen werden, ob es einen Verweis auf die Datei gibt.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#3 11. April 2019 07:39

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 201

Re: Liste aller verwendeten Bilder

Ja, genau darum geht es.
Eine Liste aller Bilder auf die es einen Verweis gibt.
Klar, das aufräumen kann ich auch von Hand machen.
Aber wenns ein tool gäbe das es automatisch macht wäre das natürlich noch besser wink
Aber mit einer Liste wäre ich auch schon sehr zufrieden!

Beitrag geändert von bd0 (11. April 2019 07:40)

Offline

#4 11. April 2019 17:41

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.844
Webseite

Re: Liste aller verwendeten Bilder

Kannst du PHP programmieren? Ein Tool selber ist mir nicht bekannt, welches deine Anwendung macht.

Mit PHP könntest du ein kleines Script bauen, welches das /uploads Verzeichnis ausliest inkl. aller Unterverzeichnisse und die Dateien danach in der Tabelle [präfix]_content_pros sucht.

Leider habe ich im Moment zu wenig Zeit um dir sowas zu programmieren.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#5 11. April 2019 19:25

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 201

Re: Liste aller verwendeten Bilder

nee, das krieg ich leider nicht hin hmm
aber ich probiers mal mit einer Kopie der Datenbank und einem Texteditor.
Was automatisches wäre halt praktisch gewesen wink

Offline

#6 11. April 2019 20:57

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.235

Re: Liste aller verwendeten Bilder

Aber wenns ein tool gäbe das es automatisch macht wäre das natürlich noch besser

Man müsste erstmal eine Liste aller Bilder auf dem Server erstellen.
Ein PHP-Script dazu sollte nicht das Problem sein.
Dann müsste man für jedes Bild, alle Felder aller Tabellen durchgehen.
Kommt auch nur ein Link in der DB vor => skip.
Dabei müsste man aber sowohl Hyperlinks als auch Pfadangaben berücksichtigen.
Ansonsten Datei löschen (oder zur Sicherheit erstmal verschieben).
Das könnte eine Weile dauern und u.U. in einem Timeout enden.
Kommt auf die Größe der DB und die Menge der Dateien an.
Da das ein ziemlich spezieller Task ist, dürftest Du dazu kein fertiges Tool finden.
Zumal die SQL Abfrage dazu einige Funktionen benötigt, die nicht bei allen Hostern erlaubt sind.
(z.B. CREATE PROCEDURE oder CREATE OR REPLACE FUNCTION - die meisten Ansätze arbeiten damit, um die Suche mit jeweils einer einzelnen DB Abfrage zu realisieren. Anderenfalls hätte man sehr viele SQL Abfragen und müsste sehr viel mehr mit PHP werkeln, was das Problem mit dem Timeout wieder wahrscheinlicher macht.)

Ein PHP-Script (UDT) zum Auslesen des Uploads-Verzeichnisses könnte z.B. so aussehen:

$config = cmsms()->GetConfig();
$files = new RegexIterator( 
	new RecursiveIteratorIterator( 
		new RecursiveDirectoryIterator( $config[ 'uploads_dir' ] ) , 
		RecursiveIteratorIterator::SELF_FIRST
	) , 
	'/^.*\.(jpe?g|png|gif)$/i' , 
	RecursiveRegexIterator::GET_MATCH
);

foreach( $files as $path => $junk )
{
	echo $path . "<br/>"; # und hier müsste man dann für jede Datei eine Suche in der Datenbank anstoßen
}

Offline

#7 12. April 2019 23:17

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 201

Re: Liste aller verwendeten Bilder

Auf einen automatisierten Ansatz muss ich wohl erstmal verzichten :'(

Ein PHP-Script zum rekursiven auslesen der Ordner habe ich bereits gefunden und einfach ins "images" Verzeichnis gelegt. Das erstellt eine Liste aller Bilder in den Ordnern und gibt die einfach als Text aus.

Eigentlich bräuchte ich vor allem ne Liste aller verwendeten oder auch nur verlinkten Bilder die sich in der Datenbank finden lassen.

Der Rest wäre dann zwar Handarbeit aber noch vertretbar. Die generierte Liste aller Dateien benötige ich bei Handarbeit nicht wirklich da ich dann ja ohnehin per FTP von Hand abgleiche...


Grundsätzliche Frage: Wie macht ihr das denn bei euren Projekten wenn sich viele Dateien mit den Jahren ansammeln bzw. oder wie motiviert ihr eure Editoren dazu "Ordnung zu halten". Das Problem habe ich quasi bei allen Kunden big_smile
Hätte daher auch vermutet dass schon jemand mit der Problematik zu tun gehabt hätte.

Offline

#8 12. April 2019 10:42

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.844
Webseite

Re: Liste aller verwendeten Bilder

bd0 schrieb:

Grundsätzliche Frage: Wie macht ihr das denn bei euren Projekten wenn sich viele Dateien mit den Jahren ansammeln bzw. oder wie motiviert ihr eure Editoren dazu "Ordnung zu halten". Das Problem habe ich quasi bei allen Kunden big_smile
Hätte daher auch vermutet dass schon jemand mit der Problematik zu tun gehabt hätte.

Oftmals mache ich bei meinen Kunden die Ersterfassung der Daten. Dabei lege ich bereits eine saubere Struktur an und lege Wert darauf das die Dateien sinnvoll benannt sind. Meistens machen die Kunden nicht sehr viel auf der Webseite, so dass ich das Problem von zuviel Daten eigentlich nicht kenne.
Wie überall kann man seine Daten strukturiert ablegen oder eben auch im Chaos. Im CMS ist das Chaos sicher weniger zu empfehlen, da einfache Instrumente wie auf dem PC fehlen um dann die Dateien zu verwalten.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#9 12. April 2019 10:59

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 201

Re: Liste aller verwendeten Bilder

nockenfell schrieb:

Oftmals mache ich bei meinen Kunden die Ersterfassung der Daten. Dabei lege ich bereits eine saubere Struktur an und lege Wert darauf das die Dateien sinnvoll benannt sind. Meistens machen die Kunden nicht sehr viel auf der Webseite, so dass ich das Problem von zuviel Daten eigentlich nicht kenne.
Wie überall kann man seine Daten strukturiert ablegen oder eben auch im Chaos. Im CMS ist das Chaos sicher weniger zu empfehlen, da einfache Instrumente wie auf dem PC fehlen um dann die Dateien zu verwalten.

Ja, mache ich prinzipiell auch so. Also ne schöne Struktur vorgeben + Manuals schreiben usw.
Leider werden gerne Dateien hochgeladen die dann _DSC203543254.jpg heissen hmm
Die Seite läuft seit 2014 und ist mit der Zeit gut gewachsen, mit unterschiedlichen Editoren.
Ich ermahne auch immer zur Ordnung, hilft nur leider nicht sad
Daher wollte ich gerne mal aufräumen smile

Offline

#10 12. April 2019 15:35

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.235

Re: Liste aller verwendeten Bilder

Wie macht ihr das denn bei euren Projekten wenn sich viele Dateien mit den Jahren ansammeln bzw. oder wie motiviert ihr eure Editoren dazu "Ordnung zu halten".

Ganz ehrlich?
Nicht meine Baustelle devil
Ich mache es wie ihr.
Struktur vorgeben, Manual schreiben, Finger kreuzen wink
Wenn ich für die Wartung bezahlt werden würde, würd ich von Anfang an immer Ordnung halten, indem ich regelmäßig prüfen, ob die Struktur auch eingehalten wird.

Leider werden gerne Dateien hochgeladen die dann _DSC203543254.jpg heissen

Ich nehme das mal als Feature-Request für den GBFilePicker wink
"Option um Dateien beim Upload umzubenennen"
Klingt gut.

Aber es stimmt schon, irgendwann ist immer mal eine Umstrukturierung o.ä. nötig. Oder ein Umzug. Oder ein Backup. Daher wäre ein Tool, welches mal überprüft, welche Dateien im Uploads-Verzeichnis tatsächlich verwendet werden, gar nicht mal so blöd.
Wie gesagt, die Krux ist die DB Abfrage.
Denn Dateien rekursiv vom Server auszulesen und nach Typ zu filtern, ist ja nicht das Ding.

Offline

#11 12. April 2019 15:52

bd0
Server-Pate
Ort: Köln
Registriert: 22. Juni 2011
Beiträge: 201

Re: Liste aller verwendeten Bilder

Leider werden gerne Dateien hochgeladen die dann _DSC203543254.jpg heissen
Ich nehme das mal als Feature-Request für den GBFilePicker wink
"Option um Dateien beim Upload umzubenennen"
Klingt gut.

*Daumen Hoch*

Offline