ordner auslesen und datei löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ordner auslesen und datei löschen

    hallo,

    ich bin ein neuling in sachen php und habe folgendes problem.

    ich möchte in einem bestimmten ordner den inhalt auslesen lassen und die darin befindlichen daten, die älter als 7 tage sind löschen lassen.

    beispiel:

    im ordner "daten" befinden sich folgende html-dokumente
    sandany110903.html
    sandany120903.html
    sandany150903.html
    sandany300903.html

    nun möchte ich, dass alle dokumente die 7 tage oder älter sind gelöscht werden.

    Frage:
    ist dieses mittels php möglich und wenn ja wie kann ich es realisieren?
    PS. ich weiss dass das hier ein forum ist und kein scriptschreibboard, aber aufgrund meines noch unterentwickeltem php-wissen wäre ich über ein scriptbeispiel erfreut.

    im vorraus vielen dank
    sandany

  • #2
    Auch ein absoluter Neuling sollte sich nicht scheuen, sich mit der Materie auseinander zu setzen und ein bisschen zu recherchieren.

    Wie wär's hiermit als Lektüre:
    Wie kann ich den Inhalt eines Verzeichnisses samt dem Inhalt aller Unterverzeichnisse ausgeben?
    Wie kann ich Dateien vom Server löschen?
    Datum und Uhrzeit der letzten Änderung einer Datei ermitteln
    if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

    Kommentar


    • #3
      danke...aber

      ersteinmal danke für deine links und deinen hinweis.

      doch habe ich einige zeit investiert und nach lösungen gesucht, doch leider habe ich bislang keine richtige gefunden.
      ich selber habe versucht mir ein script zu erstellen was mein problem lösen sollte, aber leider funktioniert dieses nicht.
      ich möchte das script hier einmal einfügen und hoffe mir kann jemand schreiben warum es nicht funktioniert

      <?
      $verz = opendir("./");
      while($datei = readdir($verz))
      {
      if($datei != ".." && $datei != "." && !is_dir($datei))
      {
      if(substr($datei,-3,3) == "html" && is_int(substr($datei,0,6)))
      {
      $filedatum = mktime(0,0,0,substr($datei,2,2),substr($datei,0,2),substr($datei,4,2));
      if($filedatum < (time() - 3600*24*7)) unlink($datei);
      }
      }
      }

      ?>


      danke

      Kommentar


      • #4
        Warum arbeitest du nicht mit filemtime() und time()?

        Du bekommst in beiden Fällen einen Unix-Timestamp für eine bestimmte Zeit.
        filemtime() = Datum/Uhrzeit der letzten Änderung der Datei in Sekunden
        time() = aktuelle Zeit in Sekunden

        Jetzt ausrechnen wieviele Sekunden 7 Tage sind, von der aktuellen Zeit abziehen und mit dem Timestamp der Datei vergleichen.
        Dann alle Dateien deren Timestamp <= dem errechneten Wert sind löschen.

        Das sollte eigentlich genügen.
        if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

        Kommentar


        • #5
          gute idee....

          aber wie????????????

          wäre nett wenn du mir den aufbau mitteilen würdest

          sandany

          Kommentar

          Lädt...
          X