datenbankler: Uploadverzeichniss clever verwalten.

Beitrag lesen

Hi,

Ich bin auf der suche nach einer cleveren Lösung, ich stelle mir vor das (wie bei Rapidshare) die Datei nach einer gewissen Zeit gelöscht wird wenn kein Zugriff erfolgt ist.

also brauchst du eine Möglichkeit, das Zugriffsdatum zu protokollieren. Oder vielleicht auch nicht, denn so ein Protokoll existiert mit an Sicherheit grenzender Wahrscheinlichkeit schon: Das Access Log des Webservers.

Ja, ok. Ein Log gibt es, das ist gepackt als *.gz und hat entpackt 400.000 Zeilen. Wenn ich jetzt z.B schauen möchte ob in den letzten 3 Monate ein Zugriff stattgefunden hat müßte ich 90 Logs entpacken und auswerten?!? Das wäre ja oberkrass, ich glaube da würde ich einen Timeout reinlaufen.
Möglich wäre, dass ich tatsächlich alle Bilder in einer DB protokolliere, indem ich täglich das aktuellste Log auswerte. Aber das wäre ja auch heftig, bei meinem Projekt muss ich damit rechnen das die ganze Sache in den nächsten 3 Jahren nochmal um das 10fache wächst.
Dann hätte die DB eine Million Einträge, ist das ein Problem? Da muss es doch was einfacheres geben.

Du brauchst also bloß mit einem Script das Access Log durchzugehen und zu jedem der Bilder das letzte (jüngste) Zugriffsdatum ermitteln.

Jetzt stehe ich vor mehreren Problemen, wie kann ich per FTP mit das letzte Zugiffsdatum anschauen

Wieso per FTP? Das wäre doch irgendwie von hinten durch die Brust ins Knie.

Ich möchte mir nur mal das Datum anschauen. Einfach so aus Interesse was die Sache bringen könnte.

Und wie zuverlässig ist die ganze Sache, wenn mein Provider ein Backup macht, dann sind ja alle Dateien angetouched, oder?

Aber das ist kein HTTP-Zugriff, der Webserver macht also einen Eintrag ins Protokoll.

Verstanden.

So richtig sicher bin ich mir bei der Sache nicht, ich bin für andere Vorschläge jederzeit offen.

Eine andere Möglichkeit wäre noch, den direkten HTTP-Zugriff auf die Bilder zu verhindern und alle Bilder nur über ein PHP-Script auszuliefern. Dieses Script würde dann in einer Datenbank zu jedem ausgelieferten Bild einen Timestamp vermerken.

So was ähnliches mach ich schon bei einer anderen Funktion. Muß mal darüber nachdenken aber da hätte ich auch wieder die Riesendatenbank. Und jedesmal einen DB Zugriff wenn das Bild geladen wird.

So long,
Martin