Seite 1 von 1

Codesequenz in zeitlichem Abstand ausführen?

Verfasst: 24.11.2003 18:30
von Maxi
Ich habe in ein phpBB Script ne Routine integriert die mir beim aufruf dieses Scriptes automatisch einen Newsbanner erstellt.

Nu will ich aber den Server nicht so sehr belasten und nicht bei jedem Aufruf dieses Scriptes einen Banner erstellen.
Mit welcher Codefolge kann ich denn sicherstellen das einige Befehler nur dann aufgerufen werden, wenn diese nicht schon die netzten 10 Minuten aufgerufen wurden.
Also anders gesagt: Eine Befehlsfolge soll maximal einmal alle 10 Minuten ausgeführt werden, das Script wird aber viel öfters aktiviert. Kenn mich mit den Zeitroutinen nicht so aus, kann mir da jemand helfen?

Verfasst: 24.11.2003 18:37
von Amdosh
PHP Seiten sind nicht so gut Zeitabhängig zu programmieren. Es soll aber "Cronjob" (oder Cronjobs) geben, damit kann man eine Php-Seite zeitabhängig aufrufen, die dann ihre spezielle Arbeit macht. Bloss mit Cronjob's habe ich mich noch nicht so sehr beschäftigt, schau einfach über eine Suchmaschine nach Erklärungen/Wirkungsweisen dafür.

Ein PHP/MySQL Projekt was ich kenne (aus den Internet), holt so neue Daten aus XML-Files und speichert sie in einer Datenbank ab.

Ist nur ein Anhalt.

Grüsse Amdosh

Verfasst: 24.11.2003 18:53
von Maxi
Einen "Cronjob" kann ich bei mir nicht ausführen. Aber es muß doch eine Routine geben die vielleicht das Datum einer Datei liest und prüft ob diese in den letzten 10 Minuten erstellt wurde. Das würde mir schon reichen! Kann man denn ermitteln wann eine Grafikdatei erstellt wurde?

Verfasst: 24.11.2003 18:58
von Pyramide
Siehe [php:fileatime], [php:filectime], [php:filemtime] und [php:stat]

Verfasst: 24.11.2003 19:18
von Maxi
Danke! Also wenn ich es richtig verstehe müsste meine Routine so lauten:

Code: Alles auswählen

$lastvisit = filectime($conjuto); 
$currentdate = date('U');
$difference = $currentdate - $lastvisit; 
if $difference>600 
{
  #... diesen code maximal alle 10 Minuten ausführen
}

Oder muß ich fileatime nehmen? Hmm?