Jump to content
Sign in to follow this  
haraldos

Dateien aus Verzeichnis nach bestimmter Zeit löschen

Recommended Posts

Hallo,

ich häng grad so richtig schön, vielleicht hat ja wer den richtigen Denkanstoß ;-)


Ich möchte zu Wartungszwecken den Inhalt eines bestimmten Verzeichnises durch den Aufruf einer bestimmten Datei zu Wartungszwecken löschen. Das funktioniert so auch ganz prima:

 

  



Das killt aber ausnahmslos alle Files in dem Verzeichnis, aus Sicherheitsgründen möchte ich die jüngsten, z.B. die der letzten 24 Stunden, erhalten bleiben.


Meine Idee ist, in Zeile 6 anstelle von filetype filemtime zu verwenden und nur die Files zu löschen die älter als aktuelle Unixzeit -86400 sind.

Daran hänge ich derzeit, vielleicht nur ne Denkblockade, aber ich komm nicht weiter.


Jemand ne Idee?


Danke & Gruß, Haraldos

Share this post


Link to post
Share on other sites

if (filetime($file) < ($now-86400)){

unlink($file);

}


Nicht getestet... Sollte aber vom Prinzip her klar sein, oder?

Share this post


Link to post
Share on other sites

Ja, Prinzip is klar, von eben Diesem scheints auch zu gehen:

 

    if (filemtime($pfad.$file) < (time()-86400)) 



Jüngere Dateien überleben den Prozess, alles ältere wird gelöscht. (Noch nicht ausgiebig getestet, sieht aber gut aus). Allerdings befindet sich in dem Verzeichnis noch ein Unterverzeichnis, welches bestehen bleiben muss und nun folgenden Fehler produziert:


Warning: Unlink failed (Is a directory) in /htdocs/test/test.php on line 8


Bei meiner obigen "Kill-All"-Methode wurde dieses Unterverzeichnis alleridngs nicht mit einbezogen, Fehlermeldung gab es da auch nicht.

Share this post


Link to post
Share on other sites
Guest

Falls die Unterordner auch zerflückt werden sollen, dann geht nichts über eine rekursive Funktion.

Share this post


Link to post
Share on other sites

hallo!


ich habe sowas ähnliches vor wie haraldos.


das habe ich bisher so in mein script uebernommen:




ich bekomme nun aber immer diese fehlermeldung:

Fatal error: Call to undefined function: filetime() in /srv/www/htdocs/web18/html/buschbur/project/includes/footer.php on line 22


er kann also die dateein nicht auslesen, es ist KEIN windows server



kann mir jemand weiterhelfen ? DANKE SCHONMAL !

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...