PHP - XML hava durumu kodları
PHP olarak xml den hava durumu alabilmek için araştırma yaparken aşağıdaki servise denk geldim. Servis tamamne ücretsiz ve kodları düzenleyerek yazarlanabiliyoruz.
<?php
//####### Owebtools Örnek PHP XML Okuyucu #######
//############# www.owebtools.com ###############
//Sehirler : ADANA,ADIYAMAN,AFYONKARAHISAR,AGRI,AKSARAY,AMASYA,ANKARA,ANTALYA,ARDAHAN,ARTVIN,AYDIN,BALIKESIR,BARTIN,BATMAN,BAYBURT,BILECIK,BINGOL,BITLIS,BOLU,BURDUR,BURSA,CANAKKALE,CANKIRI,CORUM,DENIZLI,DIYARBAKIR,DUZCE,EDIRNE,ELAZIG,ERZINCAN,ERZURUM,ESKISEHIR,GAZIANTEP,GIRESUN,GUMUSHANE,HAKKARI,HATAY,IGDIR,ISPARTA,ISTANBUL,IZMIR,KAHRAMANMARAS,KARABUK,KARAMAN,KARS,KASTAMONU,KAYSERI,KIRIKKALE,KIRKLARELI,KIRSEHIR,KILIS,KOCAELI,KONYA,KUTAHYA,MALATYA,MANISA,MARDIN,MERSIN,MUGLA,MUS,NEVSEHIR,NIGDE,ORDU,OSMANIYE,RIZE,SAKARYA,SAMSUN,SIIRT,SINOP,SIVAS,SANLIURFA,SIRNAK,TEKIRDAG,TOKAT,TRABZON,TUNCELI,USAK,VAN,YALOVA,YOZGAT,ZONGULDAK
$sehir="ANKARA,ISTANBUL"; //Bu bölüme hava durumunu almak istediğiniz şehri yazınız. Birden fazla şehir için kodları virgülle(,) ayırınız.
$doc = new DOMDocument();
$doc->load( "http://www.owebtools.com/xmlhavadurumu.php?sehir=$sehir" );
/*
if instr(objXML.Text,"HATA:") then
response.Write(objXML.Text)
response.End()
end if
*/
if (strpos($doc->saveXML(), "HATA:")){
print ($doc->saveXML());
exit();
}
$sehirler = $doc->getElementsByTagName( "havadurumu" );
foreach( $sehirler as $tmpsehirler )
{
$tmpSehir1 = $tmpsehirler->getElementsByTagName( "Sehir" );
$tmpSehir = $tmpSehir1->item(0)->nodeValue;
$tmpHava1 = $tmpsehirler->getElementsByTagName( "Hava" );
$tmpHava = $tmpHava1->item(0)->nodeValue;
$tmpSicaklik1 = $tmpsehirler->getElementsByTagName( "Sicaklik" );
$tmpSicaklik= $tmpSicaklik1->item(0)->nodeValue;
$tmpNem1 = $tmpsehirler->getElementsByTagName( "Nem" );
$tmpNem= $tmpNem1->item(0)->nodeValue;
$tmpBasinc1 = $tmpsehirler->getElementsByTagName( "Basinc" );
$tmpBasinc= $tmpBasinc1->item(0)->nodeValue;
$tmpGorus1 = $tmpsehirler->getElementsByTagName( "Gorus" );
$tmpGorus= $tmpGorus1->item(0)->nodeValue;
$tmpRuzgarYon1 = $tmpsehirler->getElementsByTagName( "RuzgarYon" );
$tmpRuzgarYon = $tmpRuzgarYon1->item(0)->nodeValue;
$tmpRuzgarHiz1 = $tmpsehirler->getElementsByTagName( "RuzgarHiz" );
$tmpRuzgarHiz = $tmpRuzgarHiz1->item(0)->nodeValue;
$tmpZaman1 = $tmpsehirler->getElementsByTagName( "Zaman" );
$tmpZaman = $tmpZaman1->item(0)->nodeValue;
//######################################################################
// Bu kod bloğunu çoğaltarak birden fazla hava durumu bilgisi alabilirsiniz.
if ($tmpSehir=="ANKARA") // Bu satırda şehir kodunu değiştirerek diğer şehirleri alabilirsiniz.
{
$HD1Sehir = $tmpSehir;//Şehir
$HD1Hava = $tmpHava;//Hava Durumu
$HD1Sicaklik= $tmpSicaklik;//Sıcaklık
$HD1Nem= $tmpNem;//Nem
$HD1Basinc= $tmpBasinc;//Basınç
$HD1Gorus= $tmpGorus;//Görüş
$HD1RuzgarYon = $tmpRuzgarYon;//Rüzgar Yön
$HD1RuzgarHiz = $tmpRuzgarHiz;//Rüzgar Hız
$HD1Zaman = $tmpZaman;//Son Güncelleme Zamanı
}
//######################################################################
}
echo "Owebtools Örnek PHP XML Havadurumu Okuyucu <br>";
echo "Şehir = ".$HD1Sehir."<br>";
echo "Hava = ".$HD1Hava."<br>";
echo "Sıcaklık = ".$HD1Sicaklik."<br>";
echo "Nem = ".$HD1Nem."<br>";
echo "Basınç = ".$HD1Basinc."<br>";
echo "Görüş = ".$HD1Gorus."<br>";
echo "Rüzgar Yön= ".$HD1RuzgarYon."<br>";
echo "Rüzgar Hız = ".$HD1RuzgarHiz."<br>";
echo "Son Güncelleme = ".$HD1Zaman."<br>";
?>
//####### Owebtools Örnek PHP XML Okuyucu #######
//############# www.owebtools.com ###############
//Sehirler : ADANA,ADIYAMAN,AFYONKARAHISAR,AGRI,AKSARAY,AMASYA,ANKARA,ANTALYA,ARDAHAN,ARTVIN,AYDIN,BALIKESIR,BARTIN,BATMAN,BAYBURT,BILECIK,BINGOL,BITLIS,BOLU,BURDUR,BURSA,CANAKKALE,CANKIRI,CORUM,DENIZLI,DIYARBAKIR,DUZCE,EDIRNE,ELAZIG,ERZINCAN,ERZURUM,ESKISEHIR,GAZIANTEP,GIRESUN,GUMUSHANE,HAKKARI,HATAY,IGDIR,ISPARTA,ISTANBUL,IZMIR,KAHRAMANMARAS,KARABUK,KARAMAN,KARS,KASTAMONU,KAYSERI,KIRIKKALE,KIRKLARELI,KIRSEHIR,KILIS,KOCAELI,KONYA,KUTAHYA,MALATYA,MANISA,MARDIN,MERSIN,MUGLA,MUS,NEVSEHIR,NIGDE,ORDU,OSMANIYE,RIZE,SAKARYA,SAMSUN,SIIRT,SINOP,SIVAS,SANLIURFA,SIRNAK,TEKIRDAG,TOKAT,TRABZON,TUNCELI,USAK,VAN,YALOVA,YOZGAT,ZONGULDAK
$sehir="ANKARA,ISTANBUL"; //Bu bölüme hava durumunu almak istediğiniz şehri yazınız. Birden fazla şehir için kodları virgülle(,) ayırınız.
$doc = new DOMDocument();
$doc->load( "http://www.owebtools.com/xmlhavadurumu.php?sehir=$sehir" );
/*
if instr(objXML.Text,"HATA:") then
response.Write(objXML.Text)
response.End()
end if
*/
if (strpos($doc->saveXML(), "HATA:")){
print ($doc->saveXML());
exit();
}
$sehirler = $doc->getElementsByTagName( "havadurumu" );
foreach( $sehirler as $tmpsehirler )
{
$tmpSehir1 = $tmpsehirler->getElementsByTagName( "Sehir" );
$tmpSehir = $tmpSehir1->item(0)->nodeValue;
$tmpHava1 = $tmpsehirler->getElementsByTagName( "Hava" );
$tmpHava = $tmpHava1->item(0)->nodeValue;
$tmpSicaklik1 = $tmpsehirler->getElementsByTagName( "Sicaklik" );
$tmpSicaklik= $tmpSicaklik1->item(0)->nodeValue;
$tmpNem1 = $tmpsehirler->getElementsByTagName( "Nem" );
$tmpNem= $tmpNem1->item(0)->nodeValue;
$tmpBasinc1 = $tmpsehirler->getElementsByTagName( "Basinc" );
$tmpBasinc= $tmpBasinc1->item(0)->nodeValue;
$tmpGorus1 = $tmpsehirler->getElementsByTagName( "Gorus" );
$tmpGorus= $tmpGorus1->item(0)->nodeValue;
$tmpRuzgarYon1 = $tmpsehirler->getElementsByTagName( "RuzgarYon" );
$tmpRuzgarYon = $tmpRuzgarYon1->item(0)->nodeValue;
$tmpRuzgarHiz1 = $tmpsehirler->getElementsByTagName( "RuzgarHiz" );
$tmpRuzgarHiz = $tmpRuzgarHiz1->item(0)->nodeValue;
$tmpZaman1 = $tmpsehirler->getElementsByTagName( "Zaman" );
$tmpZaman = $tmpZaman1->item(0)->nodeValue;
//######################################################################
// Bu kod bloğunu çoğaltarak birden fazla hava durumu bilgisi alabilirsiniz.
if ($tmpSehir=="ANKARA") // Bu satırda şehir kodunu değiştirerek diğer şehirleri alabilirsiniz.
{
$HD1Sehir = $tmpSehir;//Şehir
$HD1Hava = $tmpHava;//Hava Durumu
$HD1Sicaklik= $tmpSicaklik;//Sıcaklık
$HD1Nem= $tmpNem;//Nem
$HD1Basinc= $tmpBasinc;//Basınç
$HD1Gorus= $tmpGorus;//Görüş
$HD1RuzgarYon = $tmpRuzgarYon;//Rüzgar Yön
$HD1RuzgarHiz = $tmpRuzgarHiz;//Rüzgar Hız
$HD1Zaman = $tmpZaman;//Son Güncelleme Zamanı
}
//######################################################################
}
echo "Owebtools Örnek PHP XML Havadurumu Okuyucu <br>";
echo "Şehir = ".$HD1Sehir."<br>";
echo "Hava = ".$HD1Hava."<br>";
echo "Sıcaklık = ".$HD1Sicaklik."<br>";
echo "Nem = ".$HD1Nem."<br>";
echo "Basınç = ".$HD1Basinc."<br>";
echo "Görüş = ".$HD1Gorus."<br>";
echo "Rüzgar Yön= ".$HD1RuzgarYon."<br>";
echo "Rüzgar Hız = ".$HD1RuzgarHiz."<br>";
echo "Son Güncelleme = ".$HD1Zaman."<br>";
?>
Yorumlar
siteye giren kullanıcının ip adresine göre şehri otomatik göstermek için ne yapmam lazıma acaba
aşağıdaki adreste bulunan anlatım size yardımcı olacaktır:
http://ibrahimcevruk.com/ip-adresini-kullanarak-hava-durumu-botu-hazirlama.html
Cevabınız için teşekkürler..
Aynen dediğiniz gibi yazdım..Hatta sitenizden hazır php örneklerini de kullandım denemek için ama maalesef olmadı..Ancak birşey dikkatimi birşey çekti.
Girdi seçeneklerinde no filter seçeneği yok..Bununla bir ilgisi olabilir mi bilmiyorum?
No filter değilde drupal için php girdi biçimini seçerseniz çalışacaktır.
Maalesef çalıştıramadım..Blok içerisine yeni bir blok ekledm..
Girdi biçimini php yaptım..
Kodları yapıştırdım. Bloklardan sağ sütünda göster dedim. Ancak yazdığım kodları birer text metin olarak ekrana getirdi..
Birşey mi atlıyorum acaba?
ve
kod başlangıç bitişlerini eklediğinizden emin olunuz.Yeni yorum veya soru gönder