Wetter, Temperatur, usw. per php abrufen?!

Da du dein switch über $wetter['verh'] ja schon hast, kannst du da vor dem jeweiligen break eines case einfach folgendes hinzufügen:

$wetter['icon'] = 'regen.gif';

oder ähnliches. In der Ausgabe kannt du das Bild dann per:

Code:
<img src="http://www.tutorials.de/images/<?php echo $wetter['icon'] ?>" alt="<?php echo $wetter['verh'] ?>" />

ausgeben.

Sorry, Tim. Du warst schneller als ich! :D
Genau so, wie du es beschrieben hast, meinte ich es. Vielen Dank! Ich werde es mal testen und weiter am Code werkeln. Wenn ich in meinen Entwicklungen weiter bin, melde ich mich und zeige es euch.

//edit: Damit ich nicht nun noch ein drittes Mal hintereinander poste, erweitere ich diesen Beitrag mal.

Ich habe nun den Code erweitert und ein WetterIcon der entsprechenden Wetterbedingung hinzugefügt.
Hier ein Beispiel: KLICK!

Code:

PHP:
<?php
//Wetter in Waldfeucht
$url = "http://rss.wunderground.com/auto/rss_full/global/stations/10500.xml"; 
$content = implode("", file($url)); 

preg_match_all("/\<item>(.*?)\<\/item\>/si", $content, $results); 
preg_match("/\<description\>(.*?)\<\/description\>/si", $results[1][0], $desc); 

$arr = explode(" | ",$desc[1]); 

/* 
 * echo '<pre>' . print_r($arr, true) . '</pre>'; 
 *  
 * Array 
 * ( 
 *     [0] => Temperature: 86°F / 30°C 
 *     [1] => Humidity: 74% 
 *     [2] => Pressure: 29.83in / 1010hPa 
 *     [3] => Conditions: Partly Cloudy 
 *     [4] => Wind Direction: ESE 
 *     [5] => Wind Speed: 5mph / 7km/h 
 *     [6] => Updated: 10:00 PM PHT 
 * ) 
 */ 
//Temperatur  
preg_match("/Temperature: (.*?)F \/ (.*?)C/si", $arr[0], $str);
$wetter['temp'] = $str['2'];
 

//Wetterbedingung
preg_match("/Conditions: (.*)/si", $arr[3], $str);
$wetter['verh'] = $str['1'];

//Übersetze Wetterbedingung ins Deutsche, setze Icon ein und wechsel zwischen Tag und Nacht
switch($wetter['verh'])  
{  
    case 'Partly Cloudy':  
        $wetter['verh'] = 'Teils wolkig';
//        $wetter['icon'] = 'teils_bewoelkt.png'; 
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'teils_bewoelkt1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'teils_bewoelkt.png';
    } 
    break;  
      
     case 'Mostly Cloudy':  
        $wetter['verh'] = '&Uuml;berwiegend wolkig';
//        $wetter['icon'] = 'ueberw_bewoelkt.png'; 
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'ueberw_bewoelkt1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'ueberw_bewoelkt.png';
    } 
    break; 
      
    case 'Scattered Clouds':  
        $wetter['verh'] = 'Teils wolkig';
//        $wetter['icon'] = 'teils_bewoelkt.png'; 
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'teils_bewoelkt1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'teils_bewoelkt.png';
    }
    break;  
      
    case 'Overcast':  
        $wetter['verh'] = 'Bew&ouml;lkt';  
        $wetter['icon'] = 'bewoelkt.png';  
    break;  
     
    case 'Clear':  
        $wetter['verh'] = 'Heiter'; 
//        $wetter['icon'] = 'heiter.png';
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'heiter1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'heiter.png';
    } 
    break;  
      
     case 'Fog':  
        $wetter['verh'] = 'Nebel';  
        $wetter['icon'] = 'nebel.png'; 
    break;  
      
     case 'Heavy Fog':  
        $wetter['verh'] = 'Starker Nebel';
        $wetter['icon'] = 'nebel.png';   
    break;  
      
     case 'Light Fog':  
        $wetter['verh'] = 'Leicher Nebel';  
        $wetter['icon'] = 'nebel.png'; 
    break;  
     
    case 'Thunderstorm':  
        $wetter['verh'] = 'Gewitter';  
//        $wetter['icon'] = 'gewitter.png'; 
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'gewitter1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'gewitter.png';
    }
    break;  
     
    case 'Light Thunderstorm':  
        $wetter['verh'] = 'Leichte Gewitter';  
        $wetter['icon'] = 'gewitter.png'; 
    break;  
     
    case 'Heavy Thunderstorm':  
        $wetter['verh'] = 'Starke Gewitter';  
        $wetter['icon'] = 'gewitter.png'; 
    break;  
      
     case 'Thunderstorms and Rain':  
        $wetter['verh'] = 'Gewitter mit Regen'; 
        $wetter['icon'] = 'gewitter.png';  
    break;  
      
     case 'Light Thunderstorms and Rain':  
        $wetter['verh'] = 'Leichte Gewitter mit Regen';  
        $wetter['icon'] = 'gewitter.png'; 
    break;  
      
     case 'Light Rain Showers':  
        $wetter['verh'] = 'Leichte Regenschauer';  
//        $wetter['icon'] = 'leichter_regen.png'; 
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'leichter_regen1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'leichter_regen.png';
    }
    break;  
     
case 'Rain Showers':  
        $wetter['verh'] = 'Regenschauer';  
//        $wetter['icon'] = 'leichter_regen.png'; 
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'leichter_regen1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'leichter_regen.png';
    }
    break;       
     
     case 'Heavy Rain Showers':  
        $wetter['verh'] = 'Starke Regenschauer';  
        $wetter['icon'] = 'starker_regen.png'; 
    break;  
     
     case 'Light Rain':  
        $wetter['verh'] = 'Leichter Regen';
//        $wetter['icon'] = 'leichter_regen.png';  
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'leichter_regen1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'leichter_regen.png';
    } 
    break;  
     
     case 'Haze':  
        $wetter['verh'] = 'Tr&uuml;b';  
//        $wetter['icon'] = 'trueb.png'; 
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'trueb1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'trueb.png';
    }
    break;  
      
      case 'Patches of Fog':  
        $wetter['verh'] = 'Nebelfelder';  
        $wetter['icon'] = 'nebel.png'; 
    break;  
     
      case 'Unknown Percipitation':  
        $wetter['verh'] = 'Ung. Niederschl&auml;ge';  
        $wetter['icon'] = 'bewoelkt.png'; 
    break;  
     
    case 'Light Drizzle':  
        $wetter['verh'] = 'Leichter Spr&uuml;hregen';  
//        $wetter['icon'] = 'leichter_regen.png'; 
        $time = time();
$uhrzeit = date("H:i", $time);

    if($uhrzeit > "19:00") {
    $wetter['icon'] = 'leichter_regen1.png';
    } 
    if ($uhrzeit > "06:00") {
    $wetter['icon'] = 'leichter_regen.png';
    }
    break;  
     
    case 'Mist':  
        $wetter['verh'] = 'Leicher Nebel';  
        $wetter['icon'] = 'nebel.png'; 
    break; 
     
    case 'Light Rain Mist':  
        $wetter['verh'] = 'Leicher Nebel';  
        $wetter['icon'] = 'nebel.png'; 
    break; 
      
    default:  
        $wetter['verh'] = $wetter['verh'];  
    break;   
}  
//------------------------------------


//Luftfeuchtigkeit
preg_match("/Humidity: (.*)/si", $arr[1], $str);
$wetter['feuchte'] = $str['1'];

 
//Windrichtung
preg_match("/Wind Direction: (.*)/si", $arr[4], $str);
$wetter['windr'] = $str['1'];
 

//Übersetze Windrichtung ins Deutsche
switch($wetter['windr'])  
{  
    case 'North':  
        $wetter['windr'] = 'Nord';  
    break;  
     
    case 'East':  
        $wetter['windr'] = 'Ost';  
    break; 
     
    case 'South':  
        $wetter['windr'] = 'S&uuml;d';  
    break;  

     case 'West':  
        $wetter['windr'] = 'West';  
    break; 
     
    case 'SE':  
        $wetter['windr'] = 'SO';  
    break;  
     
    case 'SSE':  
        $wetter['windr'] = 'SSO';  
    break; 
     
    case 'NE':  
        $wetter['windr'] = 'NO';  
    break; 
     
    case 'ESE':  
        $wetter['windr'] = 'OSO';  
    break;  
     
    case 'NNE':  
        $wetter['windr'] = 'NNO';  
    break;  
     
    case 'ENE':  
        $wetter['windr'] = 'ONO';  
    break;  
     
    case 'Calm':  
        $wetter['windr'] = 'Windstill';  
    break;  
     
    default:  
        $wetter['windr'] = $wetter['windr'];  
    break; 
}

//Windgeschwindigkeit
preg_match("/Wind Speed: (.*?)mph \/ (.*?)km\/h/si", $arr[5], $str);
$wetter['windg'] = $str['2'];


//echo $wetter['temp'];
//echo $wetter['verh'];
//echo $wetter['windr'];
//echo $wetter['windg'];
//echo '<pre>' . print_r($wetter, true) . '</pre>'; 
?>

<html>
  <head>
  <title>Das Wetter in Waldfeucht</title>
  </head>
  <body>
 
<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-bottom-width: 0" bordercolor="#0066CC" width="180">
    <tr>
      <td width="100%" style="border-left-style: solid; border-left-width: 1; border-right-style: none; border-right-width: medium; border-top: 1px solid #0066CC; border-bottom-style: none; border-bottom-width: medium" colspan="2" bgcolor="#0066CC">
      <p align="center" style="margin-top: 0; margin-bottom: 0"><b>
      <font face="Verdana" size="2" color="#FFFFFF">Waldfeucht</font></b></td>
    </tr>
    <tr>
      <td width="50%" style="border-left-style: solid; border-left-width: 1; border-right-style: none; border-right-width: medium; border-top: 1px solid #0066CC; border-bottom-style: none; border-bottom-width: medium">
      <p align="center" style="margin-top: 0; margin-bottom: 0">
      <img src="./icons/<?php echo $wetter['icon'] ?>" alt="<?php echo $wetter['verh'] ?>" /></td>
      <td width="50%" style="border-left-style: none; border-left-width: medium; border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1; border-bottom-style: none; border-bottom-width: medium">
      <p style="margin-top: 0; margin-bottom: 0"><font face="Verdana" size="2">
      <?php echo $wetter['verh'] ?></font></td>
    </tr>
    <tr>
      <td width="100%" colspan="2" style="border-left-style: solid; border-left-width: 1; border-right: 1px solid #0066CC; border-top-style: none; border-top-width: medium; border-bottom: 1px solid #0066CC">
      <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
      <p style="margin-top: 0; margin-bottom: 0"><b>
      <font face="Verdana" size="2" color="#0066CC">Akt. Temp.: <?php echo $wetter['temp'] ?>C</font></b></p>
      <p style="margin-top: 0; margin-bottom: 0"><b>
      <font face="Verdana" size="2" color="#0066CC">Luftfeuchte: <?php echo $wetter['feuchte'] ?></font></b></p>
      <p style="margin-top: 0; margin-bottom: 0"><b>
      <font face="Verdana" size="2" color="#0066CC">Windgeschw.: <?php echo $wetter['windg'] ?> km/h</font></b></p>
      <p style="margin-top: 0; margin-bottom: 0"><b>
      <font face="Verdana" size="2" color="#0066CC">Windrichtung: <?php echo $wetter['windr'] ?></font></b></td>
    </tr>
  </table>
  </center>
</div>



  </body>
  </html>

Nun habe ich den Code noch so erweitert, dass er ab 19 Uhr statt die Icons mit einer Sonne durch die Icons mit einem Mond, gemäß Tageszeit, ersetzt. Folgendes Problemchen habe ich aber noch:
Beim Wechsel um 19 Uhr zeigt er das "Mond-Icon" nicht an sondern das berühmte rote X auf weißem Grund. Beim erneuten Wechsel um 6 Uhr zu den TagesIcons zeigt er diese dann wieder an.
Die Ausgabe der Icons im HTML-Quelltext lautet wie folgt:

PHP:
  <img src="./icons/<?php echo $wetter['icon'] ?>" alt="<?php echo $wetter['verh'] ?>" />

Hat jemand eine Lösung für das Problem?

Vielen Dank!

Grüße, GSK
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück