Vedendo uno script in Perl di blacklight sul meteo, mi è venuta voglia di farne uno in php.
Data la località (in un certo formato), lo script mostrerà le previsioni per mattino,pomeriggio,sera e notte.
Data la località (in un certo formato), lo script mostrerà le previsioni per mattino,pomeriggio,sera e notte.
PHP:
<?php
if($argc != 2) {
print "Usage: php $argv[0] <localita>";
print "\nEx: php $argv[0] Livorno-Ferraris/istat-2071\n";
die;
}
$localita = $argv[1];
$tempo = array(
"01" => "Nuvoloso",
"02" => "Sereno",
"03" => "Nebbia",
"04" => "Nebbia/Sereno",
"05" => "Sole",
"06" => "Sole/Nebbia",
"07" => "Neve",
"08" => "Neve",
"09" => "Neve",
"10" => "Nuvoloso",
"11" => "Nuvoloso",
"12" => "Pioggia",
"13" => "Pioggia",
"14" => "Pioggia",
"15" => "Pioggia",
"16" => "Pioggia",
"17" => "Pioggia",
"18" => "Pioggia",
"19" => "Pioggia",
"20" => "Pioggia",
"21" => "Nuvoloso",
"22" => "Nuvoloso",
"23" => "Temporale",
"24" => "Temporale",
"25" => "Temporale",
"26" => "Nuvoloso",
"27" => "Nuvoloso",
);
$ora = array("Mattino", "Pomeriggio", "Sera", "Notte");
$fp = fsockopen("meteo.it", 80);
if(!$fp) {
print "Impossibile creare il socket.\n";
exit;
}
fwrite($fp, "GET /previsioni/{$localita} HTTP/1.1\r\n");
fwrite($fp, "Host: meteo.it\r\n");
fwrite($fp, "Connection: Close\r\n\r\n");
$data = "";
while (!feof($fp)) {
$data .= @fgets($fp, 255);
}
fclose($fp);
$regex = "#<img src=\"http:\/\/images\.meteo\.it\/MI\/([0-9]+)\.gif\"\/>#";
if(!preg_match_all($regex, $data, $match)) {
print "Previsioni su {$localita} non trovate.\n";
exit;
}
for($i = 0;$i < count($ora);$i++) {
foreach($tempo as $image => $type) {
if($match[1][$i] == $image) {
print "{$ora[$i]} -> $type\n";
}
}
}
?>