URL Loggen mit PHP?
Hallo,
hat wer ein fertiges PHP-Skript zur Hand, das nicht mehr können muss, als z.B. alle 20 Sekunden einen URL auf Existenz zu prüfen und im Falle der Nichterreichbarkeit das irgendwo in eine Datei hinloggt .
Grund: es soll protokolliert werden, ob das Internet über Nacht irgendwann ausfällt, um dem Provider mit seinen 99.9% Verfügbarkeit auf den Zahn zu fühlen.
LG
hat wer ein fertiges PHP-Skript zur Hand, das nicht mehr können muss, als z.B. alle 20 Sekunden einen URL auf Existenz zu prüfen und im Falle der Nichterreichbarkeit das irgendwo in eine Datei hinloggt .
Grund: es soll protokolliert werden, ob das Internet über Nacht irgendwann ausfällt, um dem Provider mit seinen 99.9% Verfügbarkeit auf den Zahn zu fühlen.
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 315117
Url: https://administrator.de/forum/url-loggen-mit-php-315117.html
Ausgedruckt am: 17.04.2025 um 07:04 Uhr
4 Kommentare
Neuester Kommentar
Hi,
Müsstest dort den die IF & ELSE-Section anpassen damit du den Echo einfach in eine TXT mit Timestamp schreibst - dazu gibt es aber eineiges im Netz. Natürlich noch in eine Schleife packen um die Wdh. umzusetzen.
Aber wenn du nur testen willst ob die Website Up oder down ist - kann ich dir diesen Service ans Herz legen.
Uptime Robot
Grüße
Yannosch
<?php
$url = 'http://www.example.com';
$array = get_headers($url);
$string = $array;
if(strpos($string,"200"))
{
echo 'url exists';
}
else
{
echo 'url does not exist';
}
?>
Müsstest dort den die IF & ELSE-Section anpassen damit du den Echo einfach in eine TXT mit Timestamp schreibst - dazu gibt es aber eineiges im Netz. Natürlich noch in eine Schleife packen um die Wdh. umzusetzen.
Aber wenn du nur testen willst ob die Website Up oder down ist - kann ich dir diesen Service ans Herz legen.
Uptime Robot
Grüße
Yannosch
Hi,
noch eine curl variante:
PS: ist am Smartphone zusammen getackert gerade, eventuelle formatierung der kommentare überprüfen und rausnehmen...
Kann man noch ausbauen in dem man am ende auf wunsch per if / else den status code >=200 bis <=300 nicht schreibt und nur 300 aufwärzt..
Noch einen cronjob auf die Datei nicht vergessen.
Edit: Zu lange die Seite nicht aktualisiert ist ja schon gelöst
Grüße
noch eine curl variante:
<?PHP
//url der Seite
$url = 'http://www.xyz.com';
// curl initialisieren
$ch = curl_init($url);
//header anfordern
curl_setopt($ch, CURLOPT_HEADER, true); // kein download
curl_setopt($ch, CURLOPT_NOBODY, true);
// ergebnis als string
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// maximale zeit der anfrage
curl_setopt($ch, CURLOPT_TIMEOUT,10);
$output = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// file name schreibrechte beachten
$file = 'logfile.txt';
$data = $httpcode;
$timestamp = time();
$date = date("d.m.Y - H:i", $timestamp);
$combined = $data . ' ' . $date;
// schreibe in datei
file_put_contents($file, $combined, FILE_APPEND | LOCK_EX);
<?
PS: ist am Smartphone zusammen getackert gerade, eventuelle formatierung der kommentare überprüfen und rausnehmen...
Kann man noch ausbauen in dem man am ende auf wunsch per if / else den status code >=200 bis <=300 nicht schreibt und nur 300 aufwärzt..
Noch einen cronjob auf die Datei nicht vergessen.
Edit: Zu lange die Seite nicht aktualisiert ist ja schon gelöst
Grüße