Erkennen wo die Datei verwendet wird.
Erkennen wo die Datei verwendet wird.
Gibt es ein Tool oder einen Trick wie man erkennen kann, wo welche Datei aus der Dateiverwaltung verwendet werden?
LG - derJu
LG - derJu
Contenido 4.8.20 | Contenido 4.9.12
Re: Erkennen wo die Datei verwendet wird.
Hallo derju,
es ist nicht möglich herauszufinden, wo genau eine Datei verwendet wird.
Während man die Werte in allen Inhalten von CMS-Typen auf das Vorkommen der Datei prüfen könnte, scheitert es spätestens in Modulen, in denen man upload-Verzeichnisse auswählen und diverse Filterkriterien (Dateiendung, Dateiname, Erstellungsdatum, usw...) setzen kann. Das letztere ist zu dynamisch, da müsstest du zu jedem Modul, das mit upload-Verzeichnissen arbeitet, eigene Funktionen implementieren, die anhand vorhandener Moduleinstellungen ermitteln können, welche Dateien am Ende verwendet werden.
Du könntest mit wget oder mit HTTrack die ganze Webseite herunterladen, also auf die Festplatte spiegeln, um in der statischen Version der Seite nach der Datei zu suchen. Denn, falls die Datei in irgendeiner Seite vorkommt, dann ist die Chance groß, dass diese Tools das erkennen und beim Spiegeln mit übertagen.
Alternativ könntest du die Server-Logs über einen längeren Zeitraum analysieren. Wurde die Datei in letzter Zeit mal per HTTP angefraht, taucht die URL zur Datei auf jeden Fall in den Log-Dateien.
EDIT: Marcus hat es mit wenig Worten auch auf den Punkt gebracht
Gruß
xmurrix
es ist nicht möglich herauszufinden, wo genau eine Datei verwendet wird.
Während man die Werte in allen Inhalten von CMS-Typen auf das Vorkommen der Datei prüfen könnte, scheitert es spätestens in Modulen, in denen man upload-Verzeichnisse auswählen und diverse Filterkriterien (Dateiendung, Dateiname, Erstellungsdatum, usw...) setzen kann. Das letztere ist zu dynamisch, da müsstest du zu jedem Modul, das mit upload-Verzeichnissen arbeitet, eigene Funktionen implementieren, die anhand vorhandener Moduleinstellungen ermitteln können, welche Dateien am Ende verwendet werden.
Du könntest mit wget oder mit HTTrack die ganze Webseite herunterladen, also auf die Festplatte spiegeln, um in der statischen Version der Seite nach der Datei zu suchen. Denn, falls die Datei in irgendeiner Seite vorkommt, dann ist die Chance groß, dass diese Tools das erkennen und beim Spiegeln mit übertagen.
Alternativ könntest du die Server-Logs über einen längeren Zeitraum analysieren. Wurde die Datei in letzter Zeit mal per HTTP angefraht, taucht die URL zur Datei auf jeden Fall in den Log-Dateien.
EDIT: Marcus hat es mit wenig Worten auch auf den Punkt gebracht
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
-
- Beiträge: 87
- Registriert: Do 26. Apr 2012, 23:02
- Kontaktdaten:
Re: Erkennen wo die Datei verwendet wird.
Dafür ist bisher keine Funktion implementiert. Die Umsetzung wäre auch ein wenig aufwändiger, da ein Upload als ID (idupl) in der Tabelle con_content hinterlegt sein kann, aber auch als Pfad (z.B. bei einem CMS_FILELIST). Nicht zuletzt kann man ja auch in einem CMS_HTML z.B. einen Link auf einen Upload eintragen. CONTENIDO ist an dieser Stelle halt sehr flexibel.
EDIT: Murat war mal wieder schneller ... und ausführlicher!
EDIT: Murat war mal wieder schneller ... und ausführlicher!
Re: Erkennen wo die Datei verwendet wird.
Und auch dann fehlen die Bilddateien, die ausschließlich skaliert ausgegeben werden, denn die liegen dann nur als gecachte Versionen im cache-Ordner vor.xmurrix hat geschrieben:Du könntest mit wget oder mit HTTrack die ganze Webseite herunterladen, also auf die Festplatte spiegeln, um in der statischen Version der Seite nach der Datei zu suchen. Denn, falls die Datei in irgendeiner Seite vorkommt, dann ist die Chance groß, dass diese Tools das erkennen und beim Spiegeln mit übertagen.
Gruß
René
Re: Erkennen wo die Datei verwendet wird.
Man könnte in der Datenbank versuchen, gezielt mit einem SQL-Bfehl wie SELECT * FROM table WHERE content LIKE '%datei.name%';
Das %-Zeichen ist hier eine Wildcard für beliebige Zeichen, nicht zu verwechseln mit url-codierung.
Nach ganzen Pfaden würde ich nicht suchen, denn die sind im Content meistens URL-codiert: http://www.w3schools.com/tags/ref_urlencode.asp
Das würde schwierig.
PHPMyAdmin hat bereits eine Suchfunktion eingebaut, mit der man alle Tabelle nach einem Begriff absuchen kann.
Meistens kann man den Befehl dort irgendwie heraus bekommen (kopieren) und dann für sich verwenden, das erspart einem manchmal viel Hirnschmalz bei der SQL Erstellung.
Sowie man die passenden SQL-Befehle hat, die auch funktionieren, könnte man diese auch in ein Modul einbauen... oder in ein Plugin.
Allerdings belasten diese Suchen auch die Datenbank, sollte man also nicht so bauen, dass hundert Besucher gleichzeitig und ständig den Suchen-Button betätigen können (so legt man eine Seite auch lahm ).
Das %-Zeichen ist hier eine Wildcard für beliebige Zeichen, nicht zu verwechseln mit url-codierung.
Nach ganzen Pfaden würde ich nicht suchen, denn die sind im Content meistens URL-codiert: http://www.w3schools.com/tags/ref_urlencode.asp
Das würde schwierig.
PHPMyAdmin hat bereits eine Suchfunktion eingebaut, mit der man alle Tabelle nach einem Begriff absuchen kann.
Meistens kann man den Befehl dort irgendwie heraus bekommen (kopieren) und dann für sich verwenden, das erspart einem manchmal viel Hirnschmalz bei der SQL Erstellung.
Sowie man die passenden SQL-Befehle hat, die auch funktionieren, könnte man diese auch in ein Modul einbauen... oder in ein Plugin.
Allerdings belasten diese Suchen auch die Datenbank, sollte man also nicht so bauen, dass hundert Besucher gleichzeitig und ständig den Suchen-Button betätigen können (so legt man eine Seite auch lahm ).
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Erkennen wo die Datei verwendet wird.
Unter anderem meinte ich in einem anderen Thread darum, dass man die Namen für gecachte Bilde gleich halten sollte wie der Dateiname. Also für ein Thumbnail (Vorschaubild) dann eben dateiname_tn.jpg, dieses _tn dran hängen, damit der Dateiname erhalten bleibt und das _tn auf ein Thumbnail hinweist. Vor oder nach Dateiname kann man immer noch Hiroglyphen anbringen, die für irgendeine Sache sinnvoll wären, aber der "dateiname" würde erhalten bleiben und danach kann man suchen und Bezüge zur Originaldatei herstellen, sogar manuell am Bildschirm, ohne ID-Querverbindungen.Spider IT hat geschrieben: Und auch dann fehlen die Bilddateien, die ausschließlich skaliert ausgegeben werden, denn die liegen dann nur als gecachte Versionen im cache-Ordner vor.
Gruß
René
Haarsträubende Beispiele sehe ich immer wieder in Typo3 mit ihren nichtssagenden Dateinamen im Cache.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Erkennen wo die Datei verwendet wird.
Hallo Frank,
die generierten Dateinamen beinhalten auch die Maßangaben zur generierung der Bilder.
Wenn man aber den Dateinamen mit einem einfachen Kürzel verwendet, überschreiben sich unterschiedliche Größen gegenseitig.
Möglich wäre aber, den Dateinamen vor dem md5-Code zu setzen.
Hierzu musst du die /contenido/includes/functions.api.images.php in Zeile 81 vonzuändern.
Das liefert für '/upload/Bilder/Testbild.png' dann z.B. 'Testbild.png.c718ea7fa1ff4b68e83f313bf4cf14e8.png' (da ist der komplette Bildname enthalten).
Bleibt noch das Problem, dass gleichnamige Bilder in verschiedene Ordner vorliegen können...
Gruß
René
die generierten Dateinamen beinhalten auch die Maßangaben zur generierung der Bilder.
Wenn man aber den Dateinamen mit einem einfachen Kürzel verwendet, überschreiben sich unterschiedliche Größen gegenseitig.
Möglich wäre aber, den Dateinamen vor dem md5-Code zu setzen.
Hierzu musst du die /contenido/includes/functions.api.images.php in Zeile 81 von
Code: Alles auswählen
return $sMD5;
Code: Alles auswählen
return basename($sImg) . '.' . $sMD5;
Das liefert für '/upload/Bilder/Testbild.png' dann z.B. 'Testbild.png.c718ea7fa1ff4b68e83f313bf4cf14e8.png' (da ist der komplette Bildname enthalten).
Bleibt noch das Problem, dass gleichnamige Bilder in verschiedene Ordner vorliegen können...
Gruß
René
Re: Erkennen wo die Datei verwendet wird.
Moin René,
ja, so meinte ich es in etwa und ich denke, das ließe sich seitens Contenido umsetzen (wir sollten/können am Core ja kaum was machen, wegen Update und so).
Für die Ordnung im Upload-Verzeichnis ist eigentlich der Benutzer zuständig, aber man könnten diesen unterstützen, indem man Duplikate findet.
Da die Datennamen auch im der Datenbank sind, ließen sich darüber zumindest gleichlautende Dateinamen finden. Über eine Prüfsumme oder anderen Abgleich ließe sich erkennen, ob es tatsächlich das gleiche Bild ist oder nur der Dateiname gleich ist. Diese Funktion könnte man im Dateimanager von Contenido einbauen.
Wegen den gleichen Bildern in unterschiedlichen Pfaden: Der Pfad könnte auch mit in die MD5 Erzeugung rein, dann sind die Cache-Daten auf jeden Fall unterschiedlich.
Viele Grüße,
Frank
ja, so meinte ich es in etwa und ich denke, das ließe sich seitens Contenido umsetzen (wir sollten/können am Core ja kaum was machen, wegen Update und so).
Für die Ordnung im Upload-Verzeichnis ist eigentlich der Benutzer zuständig, aber man könnten diesen unterstützen, indem man Duplikate findet.
Da die Datennamen auch im der Datenbank sind, ließen sich darüber zumindest gleichlautende Dateinamen finden. Über eine Prüfsumme oder anderen Abgleich ließe sich erkennen, ob es tatsächlich das gleiche Bild ist oder nur der Dateiname gleich ist. Diese Funktion könnte man im Dateimanager von Contenido einbauen.
Wegen den gleichen Bildern in unterschiedlichen Pfaden: Der Pfad könnte auch mit in die MD5 Erzeugung rein, dann sind die Cache-Daten auf jeden Fall unterschiedlich.
Viele Grüße,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Erkennen wo die Datei verwendet wird.
Moin Frank,
Gruß
René
das ist ja bereits der Fall, nur steht der dort nicht mehr beim Dateinamen, was bei einer Suche nicht gerade hilfreich wäre (der Dateiname kann mehrfach vorkommen, nur mit Pfad ist der unterschiedlich).Faar hat geschrieben:Der Pfad könnte auch mit in die MD5 Erzeugung rein, dann sind die Cache-Daten auf jeden Fall unterschiedlich.
Gruß
René
Re: Erkennen wo die Datei verwendet wird.
Hi René,
ich glaube, dass die (4fb) das nicht mehr für Contenido 4.8 entwickeln würden, da müsste vielleicht ein Plugin aushelfen.
Aber ginge das denn mit einem Plugin, so eine Erweiterung für den Dateimanager?
Viele Grüße,
FRank
ich glaube, dass die (4fb) das nicht mehr für Contenido 4.8 entwickeln würden, da müsste vielleicht ein Plugin aushelfen.
Aber ginge das denn mit einem Plugin, so eine Erweiterung für den Dateimanager?
Viele Grüße,
FRank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Erkennen wo die Datei verwendet wird.
Ja, das müsste gehen.
Ich habe es zwar selbst noch nicht gemacht (per Plugin in Contenido), aber andere soweit ich weiß schon.
Zumindest haben die die Dateiverwaltung erweitert gehabt.
Gruß
René
Ich habe es zwar selbst noch nicht gemacht (per Plugin in Contenido), aber andere soweit ich weiß schon.
Zumindest haben die die Dateiverwaltung erweitert gehabt.
Gruß
René