I am trying to output the current time and temperature for a phone in line. It needs to be output as XML. So far I have
<?php
header("content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<Response>";
echo "<Say>";
echo('Time is');
echo date('H:i');
echo('Temp is');
echo "</Say>";
echo "</Response>";
?>
The problem i run into is getting the temperature. I have the following sample I have been trying to use. But every time i try to include it I get Warning: Cannot modify header information - headers already sent by
<?php
function getWeatherRSS($weatherLink){
if ($fp = fopen($weatherLink, 'r')) {
$content = '';
while ($line = fread($fp, 1024)) {
$content .= $line;
}
}
return $content;
}
function processWeather($wurl){
$wrss = getWeatherRSS($wurl);
$temp = '-';
$tempu = '';
$city = '';
if (strlen($wrss)>100){
// Get temperature unit C or F
$spos = strpos($wrss,'yweather:units temperature="')+strlen('yweather:units temperature="');
$epos = strpos($wrss,'"',$spos);
if ($epos>$spos){
$tempu = substr($wrss,$spos,$epos-$spos);
}
$spos = strpos($wrss,'yweather:wind chill="')+strlen('yweather:wind chill="');
$epos = strpos($wrss,'"',$spos);
if ($epos>$spos){
$temp += substr($wrss,$spos,$epos-$spos);
} else {
$temp = '-';
}
// Get city name
$spos = strpos($wrss,'yweather:location city="')+strlen('yweather:location city="');
$epos = strpos($wrss,'"',$spos);
if ($epos>$spos){
$city = substr($wrss,$spos,$epos-$spos);
}
}
return $city.' '.$temp.' °'.$tempu;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Micro Weather</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="main">
<div id="caption">CURRENT WEATHER</div>
<div id="icon2"> </div>
<div id="result"><?php echo processWeather('http://ift.tt/VZua8I'); ?>
</div>
<div id="source">Micro Weather 1.0</div>
</div>
</body>
Any tips on how I can pass the temperature into the XML?
No comments:
Post a Comment