[Code] Atomzeit vom Uniserver holenSie befinden sich: Home > Webmaster News
Wir holen uns die aktuelle Atomzeit vom Server der Uni Leipzig
zur Weiterverarbeitung in unseren Scripten
Diese Zeit wird auf der Seite www.uni-leipzig.de/cgi-bin/date/index.htm ausgegeben.
Im Quelltext der Seite erkennen wir, dass die für uns interessanten Daten :
Tue Jun 17 18:46:42 CEST 2008
von </h1>- und <p>-Tags eingerahmt werden. Dies werden wir uns zunutze machen. Doch zuerst holen wir uns den Dateiinhalt ab. Dazu nutzen wir den Befehl file_get_contents:
<?php
$zeitserver = "https://www.uni-leipzig.de/cgi-bin/date/index.htm";
$seite = file_get_contents($zeitserver);
echo $seite;
?>
Hiermit produzieren wir (natürlich) eine 1:1 Kopie der Uni-Seite, haben aber den kompletten Seiteninhalt in der Variable $seite, sodass wir mit etwas Code die Zeit herausfiltern können.
(Falls Sie keine Ausgabe oder eine Fehlermeldung erhalten, so ist in Ihrer Installation in der php.ini der Wert für allow_url_fopen auf 0 gesetzt. Kontaktieren Sie ihren Administrator und lassen Sie allow_url_fopen = 1 setzen.)
Nun zerlegen wir die Zeichenkette $seite am </h1>-Tag in zwei Teile und betrachten nur den hinteren Teil:
<?php
$zeitserver = "https://www.uni-leipzig.de/cgi-bin/date/index.htm";
$seite = file_get_contents($zeitserver);
$teile = explode("</h1>",$seite);
$seite = $teile[1];
echo $seite;
?>
Wir können sehen, dass nur noch der Rest angezeigt wird. Jetzt zerlegen wir den Reststring am p-Tag und betrachten nur
den vorderen Teil:
<?php
$zeitserver = "https://www.uni-leipzig.de/cgi-bin/date/index.htm";
$seite = file_get_contents($zeitserver);
$teile = explode("</h1>",$seite);
$seite = $teile[1];
$teile = explode("<p>",$seite);
$seite = $teile[0];
echo $seite;
?>
Nun wird nur noch "Tue Jun 17 19:14:18 CEST 2008" ausgegeben und wir können die einzelnen Teile dieses Strings
herausfiltern.
<?php
$zeitserver = "https://www.uni-leipzig.de/cgi-bin/date/index.htm";
$seite = file_get_contents($zeitserver);
$teile = explode("</h1>",$seite);
$seite = $teile[1];
$teile = explode("<p>",$seite);
$seite = $teile[0];
// Datum/Uhrzeit isoliert
$teile = explode(" ",$seite);
$tag_name = $teile[0];
$mon_name = $teile[1];
$tag = $teile[2];
$zeit = $teile[3];
$zeitzone = $teile[4];
$jahr = $teile[5];
// Aus dem Monatsnamen möchten wir noch eine Zahl 1-12 berechnen:
$monate_array = array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$monat = (array_search($mon_name,$monate_array))+1;
// Die Uhrzeit zerlegen wir noch in Stunde, Minute und Sekunde
$teile = explode(":",$zeit);
$stunde = $teile[0];
$minute = $teile[1];
$sekunde = $teile[2];
// Nun haben wir alle Einzelteile zusammen, um einen Timestamp zu bauen
$zeitstempel = mktime($stunde,$minute,$sekunde,$monat,$tag,$jahr);
echo $zeitstempel;
?>
(Autor: Wolfgang), Eingetragen am 20.06.2008
Schreib ein Kommentar
|