Fragen zur Eigenen Wetterseite

Hallo Rainer

Ich nehm mal an, du meinst mit „Chaos“ die auskommentierten Zeilen, ansonsten hab ich die wetter.php nur an meine Gegebenheiten angepaßt.

           <!--
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-->

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

<style type="text/css">html, body { margin: 0; padding: 30; font: normal 14px verdana; color: #FFFFFF; background: #27292b; }</style>
<style type="text/css"> body { -moz-user-select: none; -khtml-user-select: none; user-select: none; }</style>
<style type="text/css">div { position:absolute; width:700px; height:100px; }</style>


</head><body>

<?php

// Funktionsaufruf z.B.: $wetter = website_wetter("08141", "Germany", "/user/WetterIcons/", "de");

function website_wetter($plz, $land, $icons_src="/", $sprache="de", $ort="")
{
    $icons_google = "/ig/images/weather/";

    if($ort != "")
    {
        $station = $ort;
    }
    else
    {
        $station = $plz."-".$land;
    }

    $api = simplexml_load_string(utf8_encode(file_get_contents("http://www.google.com/ig/api?weather=".$station."&hl=".$sprache)));
   //print_r($api);
    $wetter = array();

    // Allgemeine Informationen
    $wetter['stadt'] = $api->weather->forecast_information->city->attributes()->data;
    $wetter['datum'] = $api->weather->forecast_information->forecast_date->attributes()->data;
    $wetter['zeit'] = $api->weather->forecast_information->current_date_time->attributes()->data;

    // Aktuelles Wetter
    $wetter[0]['zustand'] = $api->weather->current_conditions->condition->attributes()->data;
    $wetter[0]['temperatur'] = $api->weather->current_conditions->temp_c->attributes()->data;
    $wetter[0]['luftfeuchtigkeit'] = $api->weather->current_conditions->humidity->attributes()->data;
    $wetter[0]['luftfeuchtigkeit'] = str_replace("Feuchtigkeit", "rel.Luftfeuchte", $wetter[0]['luftfeuchtigkeit']);
    $wetter[0]['wind'] = $api->weather->current_conditions->wind_condition->attributes()->data;
    $wetter[0]['icon'] = str_replace($icons_google, $icons_src, $api->weather->current_conditions->icon->attributes()->data);



    // Wettervorhersage heute, morgen, in zwei und in drei Tagen ($wetter[1] bis $wetter[4])
    $i = 1;
    foreach($api->weather->forecast_conditions as $weather)
    {
        $wetter[$i]['wochentag'] = $weather->day_of_week->attributes()->data;
        $wetter[$i]['zustand'] = $weather->condition->attributes()->data;
        $wetter[$i]['tiefsttemperatur'] = $weather->low->attributes()->data;
        $wetter[$i]['hoechsttemperatur'] = $weather->high->attributes()->data;
        $wetter[$i]['icon'] = str_replace($icons_google, $icons_src, $weather->icon->attributes()->data);

        $i++;
    }
    return $wetter;
}

$wetter = website_wetter("08141", "Germany");
echo "<table>";
echo "<tr><td style='width:220px;'>";
echo "<strong>Aktuell:</strong><br/>
";
echo $wetter[0]['zustand']."<br/>
";
echo "Temperatur: ".$wetter[0]['temperatur']." °C<br/>
";
echo "min. ".$wetter[1]['tiefsttemperatur']." °C <br/> max. ".$wetter[1]['hoechsttemperatur']." °C<br/>";
echo $wetter[0]['luftfeuchtigkeit']."<br/>";
echo $wetter[0]['wind']."<br/>";
echo "</td>";
echo "<img src=\"http://www.google.com/ig/images/weather".$wetter[0]['icon']."\" alt=\"".$wetter[0]['zustand']."\" />
";



echo "<td style='width:180px;'>";
echo "<strong>".$wetter[2]['wochentag']."</strong><br/>
";
echo $wetter[2]['zustand']."<br/>
";
echo "min. ".$wetter[2]['tiefsttemperatur']." °C <br/> max. ".$wetter[2]['hoechsttemperatur']." °C<br/><br/>";
echo "<img src=\"http://www.google.com/ig/images/weather".$wetter[2]['icon']."\" alt=\"".$wetter[2]['zustand']."\" />
";
echo "</td>";

echo "<td style='width:180px;'>";
echo "<strong>".$wetter[3]['wochentag']."</strong><br/>
";
echo $wetter[3]['zustand']."<br/>
";
echo "min. ".$wetter[3]['tiefsttemperatur']." °C <br/> max. ".$wetter[3]['hoechsttemperatur']." °C<br/><br/>";
echo "<img src=\"http://www.google.com/ig/images/weather".$wetter[3]['icon']."\" alt=\"".$wetter[3]['zustand']."\" />
";
echo "</td>";

echo "<td style='width:180px;'>";
echo "<strong>".$wetter[4]['wochentag']."</strong><br/>
";
echo $wetter[4]['zustand']."<br/>
";
echo "min. ".$wetter[4]['tiefsttemperatur']." °C <br/> max. ".$wetter[4]['hoechsttemperatur']." °C<br/><br/>";
echo "<img src=\"http://www.google.com/ig/images/weather".$wetter[4]['icon']."\" alt=\"".$wetter[4]['zustand']."\" />
";
echo "</td></tr>";
echo "</table>";

$imgKarte = Sys_GetURLContent("http://www.dwd.de/dyn/app/ws/maps/LZ_x_x_0.gif");
$imagepfad = IPS_GetKernelDir()."webfront/user/WetterIcons/LZ_x_x_0.gif";
$fp = fopen($imagepfad, "wb+");
fwrite($fp, $imgKarte);
fclose($fp);

$factor = 0.8;
list($width, $height) = getimagesize($imagepfad);
$new_width = $width * $factor;
$new_height = $height * $factor;
$image_p = imagecreatetruecolor($new_width, $new_height);
$img = imagecreatefromgif($imagepfad);
imagecopyresampled($image_p, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
ImageGif($image_p, $imagepfad);

$berichtHeute = file_get_contents("../user/WetterReinsdorf/berichte/berichtHeute.txt");
if($berichtHeute == "")
{
    $berichtHeute = "Der Wetterbericht steht momentan nicht zur Verfügung!";
    $berichtMorgen = "";
}


?>

<div style="left:30px; top:0px;"><h1>Wetter Reinsdorf</h1></div>
<div style="left:30px; top:270px;"><h1>Wetterwarnungen Sachsen</h1></div>
<div style="left:550px; top:270px;"><h1>Wetterbericht fuer heute und morgen</h1></div>
<div style="left:550px; top:0px;"><h1>Wettervorhersage für die nächsten 3 Tage</h1></div>
<div style="left:30px; top:350px;"><img src='/user/WetterIcons/LZ_x_X_0.gif'></div>
<div style="left:30px; top:350px;"><img src='/user/WetterIcons/sachsen.png'></div>
<div style="left:220px; top:600px;"><img src='/user/WetterIcons/warnungHellblau.png'></div>
<div style="left:240px; top:600px; font: normal 11px verdana;">Keine Warnungen</div>
<div style="left:220px; top:625px;"><img src='/user/WetterIcons/warnungGelb.png'></div>
<div style="left:240px; top:625px; font: normal 11px verdana;">Wetterwarnungen</div>
<div style="left:220px; top:650px;"><img src='/user/WetterIcons/warnungOrange.png'></div>
<div style="left:240px; top:650px; font: normal 11px verdana;">Warnung vor markantem Wetter</div>
<div style="left:220px; top:675px;"><img src='/user/WetterIcons/warnungRot.png'></div>
<div style="left:240px; top:675px; font: normal 11px verdana;">Unwetterwarnung</div>
<div style="left:220px; top:700px;"><img src='/user/WetterIcons/warnungLila.png'></div>
<div style="left:240px; top:700px; font: normal 11px verdana;">Warnung vor extremem Unwetter</div>
<div style="left:550px; top:350px;"><?php echo $berichtHeute?></div>


</body></html>

Gruß computerpap

ersetze das dann ist auch das Icon daneben.

echo "<td style='width:300px;'><img src=\"http://www.google.com/ig/images/weather".$wetter[0]['icon']."\" alt=\"".$wetter[0]['zustand']."\" />
</td>";

Hallo Rainer

Vielen Dank für deine Hilfe und Geduld. Jetzt läuft alles so, wie ich es haben wollte!

Gruß
computerpap

Hallo.

Ich bin ein Ösi gg und somit hab ich die Wetterwarnung u.s.w. alles auf Österreich angepasst.
Natürlich finde ich aber auf der DWD-Seite (auch über den FTP) keine Wettervorhersage für Österreich.
Hat vielleicht jemand eine Idee wo und wie ich eine Wettervorhersage für Österreich (speziell Wien) bekommen kann?

Vielen Dank im voraus
lg
emotion

z.B. hier.

wetter.ORF.at - Wien

ca. in der Mitte des Quelltextes steht der Bericht. Wenn Du weiter klickst bekommst Du auch noch mehr Vorhersagen.

Hallo RWN.

Vielen Dank für den Link.

NUR: :smiley:
Ich bin ein Noob - hast Du vielleicht eine Idee wie ich die Daten da raus bekomme und bei mir rein?

Hab schon vieles versucht, aber leider ohne Erfolg.

Vielen Dank
lg
emotion

z.B. Seite in ein Script einlesen, betreffende Stellen raussuchen, in einen String schreiben und in die Seite einfügen.

Soll ich Dir behilflich sein.

Hallo.

Vielen Dank erstmal für den Tipp.

Ich werde es mal versuchen - darf ich mich nochmals an Dich wenden, wenn ich es nicht schaffen sollte?

Danke
lg

Kannst Du machen.

Hier hast mal ein Anfang.

<?
$vorhersage = file_get_contents("http://wetter.orf.at/wie");
print_r($vorhersage);

?>

einfach mal im Script ausführen.

Danke - da seh ich mal die ganze Seite in der Verwaltungskonsole - ich nehme an, ich muss mir jetzt die richtigen Stellen raussuchen und dem Script sagen, wohin es die rausgesuchten Teile abspeichern soll?!

Genauso in der Reihenfolge.

einfach in deine eigene Seite einfügen. Gegebenenfalls noch durch HTML anpassen.

// als array ausgeben
$lines = file("http://wetter.orf.at/wie");
for($i=154; $i<=156; $i++)
{
    $vorhersage = $lines[$i];
    $vorhersage = str_replace(" <br>", "", $vorhersage);
    $vorhersage = str_replace('[<a href="/wie/reportdetail">mehr</a>]<br><br><a href="/wie/reportdetail">Details & Prognosen</a><br><br>', "", $vorhersage);
    echo $vorhersage;
}

Hallo.

Sorry, ich bin erste jetzt eben nach Hause gekommen. Danke für die Hilfe, nur nun wollte ich es per HTML ausgeben aber leider funktioniert es nicht.

Mein Code sieht folgendermassen aus (gekürtzte Version):

<?php
// als array ausgeben
$lines = file("http://wetter.orf.at/wie");
for($i=154; $i<=156; $i++)
{
    $vorhersage = $lines[$i];
    $vorhersage = str_replace(" <br>", "", $vorhersage);
    $vorhersage = str_replace('[<a href="/wie/reportdetail">mehr</a>]<br><br><a href="/wie/reportdetail">Details & Prognosen</a><br><br>', "", $vorhersage);

}

?>

und in html hab ich eingebunden:

<div style="left:550px; top:290px;"><?php echo $vorhersage?></div>

Es kommt leider gar nichts :frowning:

Wenn ich oben echo $vorhersage; eingebe, so wird der Text ausgegeben, aber eben an der falschen Stelle.

Hast Du vielleicht noch einen Tipp?

Danke
lg
emotion

Hier meine Variante für Salzburg:


<?php

// Wetter für Salzburg von ORF auslesen
$gURL="http://wetter.orf.at/sbg/reportdetail";

$lSearchStart="<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td width=315 valign=top nowrap><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=3 color=003366><b>";
$lSearchDelimiter="</b><br></font>
<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=-1 color=000033> <br>";
$lSearchEnd="</font></td>
</tr>
</table>";


$lHTML=file_get_contents($gURL);
$aData=explode($lSearchStart, $lHTML);

// 1= aktuell, 2=morgen, 3=Übermorgen, 4=trend
$aWetter=array();

$aSearch	=array($lSearchDelimiter, $lSearchEnd, "<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td width=315 valign=top nowrap><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=3 color=003366></font>
<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=-1 color=000033>");
$aReplace	=array("</h2>", "", "");

$aWetter["aktuell"]		="<h2>".str_replace($aSearch,$aReplace,$aData[1]);
$aWetter["morgen"]		="<h2>".str_replace($aSearch,$aReplace,$aData[2]);
$aWetter["übermorgen"]	="<h2>".str_replace($aSearch,$aReplace,$aData[3]);
$aWetter["trend"]		="<h2>".str_replace($aSearch,$aReplace,$aData[4]);

?>

die kannst dann mit <?= $aWetter[„aktuell“] ?> usw. ausgeben

Hallo.

Ja Wahnsinn - funktioniert schon :slight_smile:

Vielen vielen vielen Dank!

Schönen Abend noch.

lg
emotion

Du musst die Ausgabe schon in der Schleife lassen. Das ganze muss innerhalb von PHP stehen.

$lines = file("http://wetter.orf.at/wie");
for($i=154; $i<=156; $i++)
{
    $vorhersage = $lines[$i];
    $vorhersage = str_replace(" <br>", "", $vorhersage);
    $vorhersage = str_replace('[<a href="/wie/reportdetail">mehr</a>]<br><br><a href="/wie/reportdetail">Details & Prognosen</a><br><br>', "", $vorhersage);
    ?> <div style="left:550px; top:290px;"><?php echo $vorhersage?></div> <?php
} ?>

Danke Rainer.

Wie schon anfangs erwähnt bin ich ein völliger Noob in PHP, aber nun hab ich wieder viel gelernt ;).

Schöne Pfingsten :wink:

lg
emotion

Hallo Rainer,

wie kommt es das ich als einziger ein Problem mit dem FTP-Script habe?

Verbunden zu ftp-outgoing.dwd.de mit Username gds42193
Aktuelles Verzeichnis: /gds/gds/specials/forecasts/text

Warning: sort() expects parameter 1 to be array, boolean given in C:\IP-Symcon\scripts\DatenDWD.php on line 37

Warning: Invalid argument supplied for foreach() in C:\IP-Symcon\scripts\DatenDWD.php on line 40

Habe nix verändert ausser das Login und die IDs.Da ich noch nicht so ein PHP Crack bin,steig ich da noch nicht durch.

Sortierung,Array…:eek:

Danke und Gruß Robert

Hallo Robert,

ersetzte dieses und führe das Script mal aus. Es müsste eine Array mit Werten erscheinen.

// Inhaltsliste erstellen und sortieren
$ftp_nlist = ftp_nlist($conn_id, ".");
print_r($ftp_nlist);
sort($ftp_nlist);
$berichte = "";

Hallo Reiner,

leider das gleiche Problem.
Der erstellte String kommt ja erst später ins Spiel.
Sollte ja keine Fehlerquelle durch Falscheinstellung sein.