Bu dökümanda sizere, online hava durumunu diğer sitelerden (wunderground.com, weather.com vb.) nasıl alınacağını anlatacağım. İsterseniz aynı yöntemi kullanarak döviz,sayısal loto ve benzeri verileride alabilirsiniz. Biz verileri çekmek için wap.meteor.gov.tr yi kullanacağız. Uygulamamızı yapmaya başlayabiliriz. Aşağıdaki kodları havadurumu.php diye kayıt edelim.
<?php
function hava($sehir) {
$cikti=@file_get_contents("http://wap.meteor.gov.tr/simdi/".strtolower($sehir).".wml");
if ($cikti) {
$ayir=explode("<p align=\"center\">",$cikti);
// gün için sıkcaklığı alalım
$sic=explode("C",$ayir[4]);
$sic=$sic[0];
// gün için nemi alalım
$nem=explode("</p>:",$ayir[6]);
$nem=$nem[0];
// gün için rüzgarı alalım
$ruzgar=explode("</p>",$ayir[7]);
$ruzgar=$ruzgar[0];
// gün için basıncı alalım
$basinc=explode("</p>",$ayir[8]);
$basinc=$basinc[0];
}
$cikti="<table>
<tr><td colspan=\"4\" align=\"center\">$sehir</td></tr>
<tr>
<td align=\"center\">Şimdi</td>
<td align=\"center\">Sıcaklık: ".$sic." </td>
<td align=\"center\">".$basinc." </td>
<td align=\"center\">Rüzgar: ".$ruzgar."</td>
</tr>
</table> ";
return $cikti;
}
echo hava("Ankara");
?>
Şimdi yukarıda kullandığımız kodların ne anlama geldiklerini inceleyelim.
function hava($sehir) { // function komutunu kullanarak hava diye bir fonksiyon oluşturduk. ( { ve } içindeki kodlar bu fonksiyona dahil edilir.)
$cikti=@file_get_contents("http://wap.meteor.gov.tr/simdi/".strtolower($sehir).".wml"); // $cikti diye bir değişken atadık. file_get_contents fonksiyonunu kullanarak
http://wap.meteor.gov.tr sayfasının içeriğini $cikti değişkenine atıyoruz. strtolower fonksiyonu ise tüm büyük harfleri küçültmeye yarar.
if ($cikti) { // if() fonksiyonu koşul belirtmek için kullanılır. Eğer koşul sağlanıyorsa ($cikti değişkeni var ise) { ve } içindeki işlemler yapılır aksi taktirde es geçilir.
$ayir=explode("<p align=\"center\">",$cikti); // explode fonksiyonu ayıraç olarak kullanılır. Bu satırda $cikti değişkeninin içeriğini <p align="center"> verisine göre ayırma işlemi yapıyoruz.
$sic=explode("C",$ayir[4]); // burada $ayir[4] ün içeriğini C ile yeniden parçalara ayırıyoruz.
$sic=$sic[0]; // bu satırda ayırdığımız bölümün ilk kısmını $sic değişkenine atıyoruz.
explode fonksiyonunun daha iyi anlaşılması için aşağıdaki örneği inceleyebiliriz.
Örnek:
$cikti="<table><tr><td>Emre</td><td>Çevik</td></tr></table>";
$ayir=explode("<td>",$cikti);
$ayir[0] değişkeni ekrana <table><tr> basar.
$ayir[1] değişkeni ekrana Emre</td> basar.
$ayir[2] değişkeni ekrana Çevik</td></tr></table> basar
$nem, $basinc, $ruzgar için aynı explode fonksiyonu kullanıldığı için bu bölümleri açıklamadan geçiyorum.
$cikti="<table>
<tr><td colspan=\"4\" align=\"center\">$sehir</td></tr>
<tr>
<td align=\"center\">Şimdi</td>
<td align=\"center\">Sıcaklık: ".$sic." </td>
<td align=\"center\">".$basinc." </td>
<td align=\"center\">Rüzgar: ".$ruzgar."</td>
</tr>
</table>";
Yukarıdaki bölümde fonksiyonumuzu bitirmeden önce $cikti değişkenine $nem,$basinc, $ruzgar değişkenlerinin içeriklerini basıyoruz.
echo hava("Ankara"); //bu satırda hava("Ankara"); ile hava fonksiyonunu çağırıyoruz ve echo komutu ile sayfaya basıyoruz.
Genel olarak hava durumunun nasıl alınacağını öğrenmiş olduk 2. sayfada bu kodumuzu biraz daha geliştirelim.
Alıntıdır ( ceviz.net )