gondor: Verzeichnis in Zeitabständen auslesen

Hallo,

ich bekomme in unregelmäßigen Abständen auf meinen Webserver eine Datei hochgeladen (in ein definiertes Verzeichnis). Nun möchte ich durch eine PHP-Funktion die Datei einlesen und Werte aus dieser in eine Datenbank schreiben. Das Parsen der Werte und die Speicherung ist bislang umgesetzt...

Wie kann ein Ansatz aussehen, der erkennt, dass eine neue Datei hochgeladen wurde? Kann man das durch einen Cron-Job erledigen lassen, der mir die PHP-Funktion anstößt, sobald eine Datei gefunden wurde? Oder geht das 'Pollen' auch mit handelsüblichen PHH-Funktionen?

Wie würdet Ihr an die Sache herangehen?

Danke für Hinweise,

gondor(..)

  1. Hello,

    Wie kann ein Ansatz aussehen, der erkennt, dass eine neue Datei hochgeladen wurde? Kann man das durch einen Cron-Job erledigen lassen, der mir die PHP-Funktion anstößt, sobald eine Datei gefunden wurde? Oder geht das 'Pollen' auch mit handelsüblichen PHH-Funktionen?

    Es geht auch mit einem PHP-Prozess, den man einfach abspaltet und in den Hintergrund verfrachtet.
    Voraussetzung hierfür ist nur, dass Du exec() und  set_time_limit() benutzen darfst und weißt, was auf dem Server sonst so passiert.

    Allerdings ist die Aufgabe mMn bei at (Cronjob) besser angesiedelt.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hi!

      Allerdings ist die Aufgabe mMn bei at (Cronjob) besser angesiedelt.

      Das sehe ich auch so. Das wird bei den meisten Hostern (aufgrund der PHP-Konfiguration bzw. der zugestandenen Rechte) wohl auch der einzige Weg sein, auf dem man das realisieren kann.
      Es kann natürlich auch sein, daß du dir bei deinem Hoster gar keine Cronjobs einrichten kannst. Oftmals ist das bei Billigangeboten so.
      Bei besseren Angeboten, hast du meist die Möglichkeit cronjobs einzurichten oder der Hoster macht das für dich, wenn du ihn anschreibst.
      Sollte es bei dir jedoch nicht möglich ein, den cron-daemon zu nutzen, dann bleibt dir noch eine andere Möglichkeit:
      Es gibt Websites, die kostenlos "cron-Jobs" anbieten. D.h. du kannst dich da anmelden und die rufen dann in bestimmten Zeitabständen dein Script auf.
      http://www.cron-job.org/cgi-bin/cronweb
      http://www.cronjob.de/
      http://www.cronjob-kostenlos.de/
      ...
      Besonders toll finde ich sowas zwar nicht, weil mir das nicht das Gefühl von 100%iger Sicherheit gibt. Läuft halt nicht auf dem eigenen Server und was ist, wenn deren Server mal irgendwie offline ist?
      Nunja, wie auch immer: Es könnte für den einen oder anderen halt eine Notlösung sein.
      Vielleicht ist so ein Angebot ja auch was für dich...

      BTW: cronjobs gibt es außerdem nur, wenn dein Hoster mit einem Unix/Linux-Server arbeitet. Unter Windows funktioniert das nicht.
      Da gibt es dann aber natürlich Ähnliches - den Taskplaner-Dienst.

      Schöner Gruß,
      rob