Seite soll sich aktualisieren und zeitgesteuert Script aufrufen
Bulli
- php
Hallo,
ich habe zwei Probleme:
1. ich möchte, dass meine Seite (index.php) alle 30 min aktualisiert wird
und
2. alle 60 min soll ein php-script (upload.php) ausgeführt werden. (den code könnte ich zur Not auch in die index.php einbauen)
Ich habe im Netz folgenden Codeschnipsel gefunden weiss jedoch nicht, wie ich das einfügen kann bzw wie ich den Wert ($date_old) aus der DB bekomme.
$date_old = 1198705672 #Datum aus der DB im UnixTimestamp
if($date_old <= time())
{
Scriptaufruf
//Schreibe neues Datum in die DB
$date_new = time() + 600 #60sec * 10 = 600 sekunden
}
Gruß
Bulli
Hi,
Was genau hast Du denn vor? Etwas mehr Info wäre nötig.
ich habe zwei Probleme:
Mindestens;) Nur Spaß, ok?
- ich möchte, dass meine Seite (index.php) alle 30 min aktualisiert wird
Warum? Wer schaut eine halbe Stunde auf deine index.php?
- alle 60 min soll ein php-script (upload.php) ausgeführt werden. (den code könnte ich zur Not auch in die index.php einbauen)
Welches OS?
Off:pp
OK, dann versuch ich mal zu erklären:
ich bekomme von wetteronline.de eine 5mal am Tag eine csv-Datei mit Wetterdaten. Die CSV-Datei wird über die upload.php eingelesen.
Die index.php soll im Browser ständig geöffnet sein und die Wetterdaten anzeigen.
Ich möchte nun, dass alle 60 min geprüft wird, ob eine neue csv-datei vorhanden ist und wenn ja, dann soll sie importiert werden.
hier die index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Auswertung der Wetterdaten</title>
<link media="all" rel="stylesheet"
href="file:///C:/Dokumente%20und%20Einstellungen/aaaa/Desktop/xampp/htdocs/webseite/style.css"
type="text/css">
<!-- die unteren zwei Zeile sorgen dafür, dass die Webseite (index.php) alle 20 sek neu geladen wird -->
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="REFRESH" content="180; URL=index.php">
</head>
<body>
<div id="komplSeite">
<div id="header"><img src="logo.gif"
style="width: 207px; height: 46px;" alt=""></div>
<div id="header2"> Fernüberwachung "Windalarm"</div>
<div id="header3"><?php $datum= date("d.m.Y", time());
$zeit=date("G:i:s", time());
echo $datum;
echo "<br>";
echo $zeit;
?>
</div>
<div id="container"><?php require_once ('konfiguration.php');
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
// Nutzen von Datenbank (Name ist hinterlegt in Konstante MYSQL_DATENBANK
$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");
$sql = "SELECT w.*
FROM tab_wetter w
WHERE w.datum = ( SELECT MAX(datum) FROM tab_wetter );
";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo '<div id="region" style="background: green;">'.$zeile['datum'] ."</br>". $zeile['name'] . "</div>";
echo '<div id="anlagen" style="background:yellow;">'."Anzahl der Anlagen:</br>". $zeile['key'] . "</div>";
if ($zeile['TX'] >= 24) {
echo '<div id="wind" style="background:red;">WS morgens'."</br>". $zeile['FF_morning'] . "</div>";
echo '<div id="wind" style="background:red;">WS nachmittags'."</br>". $zeile['FF_afternoon'] . "</div>";
echo '<div id="wind" style="background:red;">WS abends'."</br>". $zeile['FF_evening'] . "</div>";
echo '<div id="wind" style="background:red;">WS nachts'."</br>". $zeile['FF_night'] . "</div>";
}
else {
echo '<div id="wind" style="background:green;">WS morgens'."</br>". $zeile['FF_morning'] . "</div>";
echo '<div id="wind" style="background:green;">WS nachmittags'."</br>". $zeile['FF_afternoon'] . "</div>";
echo '<div id="wind" style="background:green;">WS abends'."</br>". $zeile['FF_evening'] . "</div>";
echo '<div id="wind" style="background:green;">WS nachts'."</br>". $zeile['FF_night'] . "</div>";
}
echo '<div id="leer"></br></div>';
}
mysql_free_result( $db_erg );
?></div>
</div>
</body>
</html>
----------------------------------------------------------------------------
... und hier die upload.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>upload</title>
</head>
<body>
<br>
<?php require_once ('konfiguration.php');
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
// Nutzen von Datenbank (Name ist hinterlegt in Konstante MYSQL_DATENBANK
$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen!!!");
$datei= "c:/wetterdaten/xxxx.csv";
$ziel = "c:/wetterdaten/erledigt/xxxx.csv";
$sql = "delete from tab_wetter";
$sql2 = "LOAD DATA LOCAL INFILE '$datei' ignore INTO TABLE tab_wetter FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\\' LINES TERMINATED BY '\\r\\n'";
$result = mysql_query($sql) or die ('Auswahl der Datenbank fehlgeschlagen'.mysql_error()); echo "DB gelöscht! ";
$result = mysql_query($sql2) or die ('Auswahl der Datenbank fehlgeschlagen'.mysql_error()); echo "Datei eingelesen!";
rename("$datei", "$ziel"."(".date("d.m.Y", time())." um " .date("G_i_s", time()).")");
echo " Die Datei wurde in den Ordner \"erledigt\" verschoben"." am ". date("d.m.Y", time())." um ". date("G:i", time())." Uhr";
?>
</body>
</html>
Gruß
Bulli
Hi,
ich hatte ein ähnliches Problem und wollte meine Internetseite jede Nacht aktualisieren lassen.
1. Möglichkeit (am einfachsten)
Seitenaufruf über externe Seite z.B. bei cronjob.de
Ist umsonst und funktioniert prima.
2. Möglichkeit
über eigenen cronjob , aber benötigt einen eigenen, ständig online verfügbaren Linux-Server mit Admin-Rechten. Den http - request hatte ich einfach per wget gemacht.
Hallo.
- ich möchte, dass meine Seite (index.php) alle 30 min aktualisiert wird
Also eine Weiterleitung auf sich selbst.
- alle 60 min soll ein php-script (upload.php) ausgeführt werden. (den code könnte ich zur Not auch in die index.php einbauen)
Da du die Daten ja erst dann benötigst, wenn deine Seite aufgerufen oder aktualisiert wird, kannst du das Skript in deine Seite integrieren. Beachte dabei, dass du dabei das Risiko einer schlechten Verbindung zu dem Dienstleister auf deine Besucher abwälzt.
Ich habe im Netz folgenden Codeschnipsel gefunden weiss jedoch nicht, wie ich das einfügen kann bzw wie ich den Wert ($date_old) aus der DB bekomme.
So ist das eben mit Dingen, die man irgendwo findet.
MfG, at