Seite 1 von 2

Amtliche Unwetterwarnungen

Verfasst: Di 5. Jun 2012, 06:22
von Tom
Hallo und guten Morgen alle zusammen.
Ich weis nicht ob ich dieses Thema hier an der richtigen Stelle gepostet habe wenn nicht bitte ich um Vergebung ! :D
Ich bekommen die amtlichen Unwetterwarnungen für den Kreis Höcter immer per Mal vom DWD.
Ich würde gern dieses unter News auf meiner Webseite veröffentlichen.
In Sachen PHP bin ich ein absoluter Anfänger.
Hat jemand von Euch eine Idee wie ich das realisieren könnte ?

Viele Grüße aus dem trüben Weserbergland !

Thomas

Re: Amtliche Unwetterwarnungen

Verfasst: Di 5. Jun 2012, 09:53
von webworker
Hallo Thomas,
da Du schon ein Warnmodul auf Deiner Seite nutzt - welche Darstellungsweise soll wo erfolgen?

Reine Textdarstellung die auch in einem "Archiv" weiterhin verfügbar bleibt oder nur zur Zeit während die Warnungen bestehen?

Gruß

Rene

Re: Amtliche Unwetterwarnungen

Verfasst: Di 5. Jun 2012, 10:25
von Tom
Hallo Rene,

vielen Dank für deine Antwort.
Ich würde gerne so etwas wie aktuelle News veröffentlichen.
Hier würde dann die Unwetterwarnung als reines Textfile veröffentlicht.
Ein Archiv ist da wohl nicht erforderlich denke ich.
Ich hatte so etwas ach schon mal für das sogenannte Wohlfühlwetter geplant aber leider fehlen mir die Ansätze wie ich so etwas realisieren könnte.


Gruß

Thomas

Re: Amtliche Unwetterwarnungen

Verfasst: Mi 6. Jun 2012, 19:29
von Michael
Hallo Thomas,

möchtest Du nur die Unwetterwarnungen ausgeben? Also Rot und Violett? Oder alle Warnungen Gelb bis ....

Re: Amtliche Unwetterwarnungen

Verfasst: Mo 11. Jun 2012, 06:33
von Tom
Hallo und guten Morgen Michael,

ich würde alle Unwetterwarnmeldungen ausgeben in Textform !

VG Thomas

Re: Amtliche Unwetterwarnungen

Verfasst: Di 12. Jun 2012, 18:27
von Michael
Hallo Tom

quick and dirty

Code: Alles auswählen

<?php
$url = 'http://www.wettergefahren.de/dyn/app/ws/html/reports/EIX_warning_de.html';
$warn=file($url);
if (count($warn) > 38)
{
$warnungen= implode('',$warn);
if(!preg_match('#<div id="ebp_ws_warning_content"[^>]*>(.*)</div>#si', $warnungen, $warntexte)) {
    die('Ein Fehler ist aufgetreten');
}
echo $warntexte[1];
}
?>

Re: Amtliche Unwetterwarnungen

Verfasst: Mi 13. Jun 2012, 22:30
von Tom
Hallo und guten abend Michael.
Vielen Dank für deine Mühe ! Ich werde das Script in den nächsten Tagen testen da ich im Moment berufl. sehr eingespannt bin.
Ich melde mich wieder.
VG aus dem Weserbergland

Thomas

Re: Amtliche Unwetterwarnungen

Verfasst: Do 14. Jun 2012, 14:01
von Tom
Hallo Michael,

ich habe das Script mal auf menen Server bei 1und1 gepackt und bekomme beim Aufruf immer folgende Fehlermeldung:

Warning: file() [function.file]: URL file-access is disabled in the server configuration

Ich habe mal ein wenig im Internet gesucht und das scheint ein allgemeines Problem bei 1und1 zu sein.
Eine Lösung habe ich nicht vielleicht weist Du einen Tipp ?

VG Thomas

Re: Amtliche Unwetterwarnungen

Verfasst: Fr 15. Jun 2012, 11:33
von webworker
Hallo Tom,

scheint als hätte 1 & 1 den Zugriff auf externe Daten in der php.ini nicht erlaubt.

Wenn Du Zugriff auf die Datei php.ini hast, da rein schreiben

Code: Alles auswählen

allow_url_fopen=on
Wenn das nichts bringt, eine Datei erstellen mit dem Namen php.ini, Inhalt

Code: Alles auswählen

allow_url_fopen=on
und ins Hauptverzeichnis Deines Webservers.

Alternativ kann man das noch über .htaccess-Dateien lösen -> Datei mit Namen .htaccess erzeugen oder erweitern

Code: Alles auswählen

php_value allow_url_fopen On
Wenn das alles nichts bringt dann den 1 & 1-Support kontaktieren.

Re: Amtliche Unwetterwarnungen

Verfasst: So 17. Jun 2012, 12:17
von Michael
Hallo Tom,

probiers mal damit

Code: Alles auswählen

$host="http://www.wettergefahren.de/dyn/app/ws/html/reports/ELX_warning_de.html";
$fp = curl_init($host);
        
        curl_setopt($fp,CURLOPT_TIMEOUT,15);
        
        curl_setopt($fp,CURLOPT_FAILONERROR,1);
        
        curl_setopt($fp,CURLOPT_RETURNTRANSFER,1);
        
        $warnungen=curl_exec($fp);
        
        if (curl_errno($fp) != 0)  
        { 
		echo "Sorry, Die Warnungen konnten nicht geladen werden.";
        } 
        else  
        {
if (strlen($warnungen) > 1700)
{
if(!preg_match('#<div id="ebp_ws_warning_content"[^>]*>(.*)<div class="app_ws_create_date">#is', $warnungen, $warntexte)) {
    die('Ein Fehler ist aufgetreten');
}
echo $warntexte[1];
}
else
{
echo '<br/>keine Wetterwanung aktiv';
}
		}