PHP Hava Durumu Scripti

PHP Script
Bunun hava durumu gibi standart bir talebe profesyonelce cevap vermek için işinize yarayacağını düşünüyorum. Sağdan soldan alınan hazır linklerin veya resim üzerine basılan değerlerin çok profesyonel durmadığı aşikar, neden sayfanızla tümleşik bir içeriğe sahip olmayasınız ki. Yazdığım scripti <iframe> mantığıyla sabit bir şehir için çağırabileceğiniz gibi sitenize include edip tümleşik çalışmasını sağlayabilirsiniz. Scriptin çalışan örneğini buradan görebilirsiniz.

PHP Hava Durumu v1.0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// Hava Durumu v1.0
// Devlet Meteoroloji İşleri sayfasından anlık hava tahmini verilerini alır
// Caner ÖNCEL - http://www.egonomik.com

// Kullanım:
// Hava durumuna bakılacak olan şehri $_GET ile çağırıyoruz
// Örnek: havadurumu.php?sehir=istanbul

    error_reporting(E_ALL);
    ini_set('display_errors','Off');

if($_GET['sehir'] == "") {
    $sehir = "istanbul"; } // varsayılan şehir
else {
    $sehir = $_GET['sehir']; }

function hava_duzenle($text) {  
    $text = trim($text);    
    $search = array('Tarih:','Basinc:','Nem:','°C');  
    $replace = array('<b>Tarih: </b>','<b>Basınç: </b>','<b>Nem: </b>','°C');    
    $new_text = str_replace($search,$replace,$text);    
    return $new_text;  }
    $sehir_big = ucfirst($sehir);
    $sehir_ufak = strtolower($sehir);

//  DMİ Verilerini okuyoruz, bağlanamazsak hata verdirtiyoruz.
    $gelen_sayfa = file_get_contents("http://www.dmi.gov.tr/FTPDATA/wap/$sehir_ufak.wml") or die ('<b>HATA!</b><br> Meteoroloji İşleri Genel Müdürlüğü hava tahmini verilerine ulaşılamıyor, girilen şehir adı hatalı veya sunucu meşgul olabilir.<br>İstenen şehir: '.$sehir_big.' <br><a href="javascript:history.go(-1);">« Geri</a>');

    $basladi = stristr($gelen_sayfa,"Tarih");
    $bitti = strpos($basladi,"<b>TAHMiN");
    $durum1 = substr($basladi,0,$bitti);
    $hava_durumu = hava_duzenle($durum1);


// HTML dökümünü kendinize göre düzenleyebilirsiniz.
echo '
<html>
<title>'
.$sehir_big.' İçin Hava Tahmin Raporu</title>
<body>
   
    <font face="Tahoma" size="2">
    <b>Şehir:</b> '
.$sehir_big.'<br>
    '
.$hava_durumu.'
    </font>
</body>
</html>'
;

Dilerseniz aşağıdaki selectbox’u koda adapte ederek farklı şehirler için seçim yaptırabilirsiniz:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<form id="sehirler" name="sehirler" action="" method="GET">
<select name="sehir" size="1" onchange="document.sehirler.submit();">
    <option>-- Şehir Seçiniz -- </option>
    <option>Adana</option>
    <option>Adiyaman</option>
    <option>Afyon</option>
    <option>Agri</option>
    <option>Aksaray</option>
    <option>Amasya</option>
    <option>Ankara</option>
    <option>Antalya</option>
    <option>Ardahan</option>
    <option>Artvin</option>
    <option>Aydin</option>
    <option>Balikesir</option>
    <option>Bartin</option>
    <option>Batman</option>
    <option>Bayburt</option>
    <option>Bilecik</option>
    <option>Bingol</option>
    <option>Bitlis</option>
    <option>Bolu</option>
    <option>Burdur</option>
    <option>Bursa</option>
    <option>Canakkale</option>Cankiri
    <option>Corum</option>
    <option>Denizli</option>
    <option>Diyarbakir</option>
    <option>Duzce
    <option>Edirne</option>
    <option>Elazig</option>
    <option>Erzincan</option>
    <option>Erzurum</option>
    <option>Eskisehir</option>
    <option>Gaziantep</option>
    <option>Giresun</option>
    <option>Gumushane</option>
    <option>Hakkari</option>
    <option>Hatay</option>igdir</option>
    <option>isparta</option>
    <option>icel
    <option>istanbul</option>
    <option>izmir</option>
    <option>Kahramanmaras</option>
    <option>Karabuk</option>
    <option>Karaman</option>
    <option>Kars</option>
    <option>Kastamonu</option>
    <option>Kayseri</option>
    <option>Kirikkale
    <option>Kirklareli</option>
    <option>Kirsehir</option>
    <option>Kilis</option>
    <option>Kocaeli</option>
    <option>Konya</option>
    <option>Kutahya</option>
    <option>Malatya</option>
    <option>Manisa</option>
    <option>Mardin</option>
    <option>Mugla</option>
    <option>Mus</option>
    <option>Nevsehir</option>
    <option>Nigde</option>
    <option>Ordu</option>
    <option>Osmaniye</option>
    <option>Rize</option>
    <option>Sakarya</option>
    <option>Samsun</option>
    <option>Siirt</option>
    <option>Sinop</option>
    <option>Sivas</option>
    <option>Sanliurfa</option>
    <option>Sirnak</option>
    <option>Tekirdag</option>
    <option>Tokat</option>
    <option>Trabzon</option>
    <option>Tunceli</option>
    <option>Usak</option>
    <option>Van</option>
    <option>Yalova</option>
    <option>Yozgat</option>
    <option>Zonguldak</option>
</select>
</form>

Scriptin çalışan örneği:
Demo
Scripti indir:
Download

İlginizi Çekebilecek Diğer İçerikler

Facebook Yorumları

14 Yorum

  1. Selam arkdaslar öncelikle bu site gibi güzel bir site görmedim ben cok beyendim ben coktan beri urasiyorum kendi capimda hobi olarak site isleriyle amma dedim gibi cok paylasim yeri gördum burasi muhtesem siteme buranin reklamini eklicem burdan faydalansinlar bence hepinize tsk ederim

  2. Damien

    Selamlar üstadım, tam aradığım bir çalışma ortaya koymuşsunuz, fakat sizin sitenizde çalışmasına rağmen benim sitemde çalışmıyor, uyarı görüntülüyor.
    Sizce sebebi ne olabilir?
    Teşekkürler.

  3. Damien arkadaşın dediği gibi sizin sitede çalışıyor ama  uygulamak istediğim sitede  çalışmıyor bu konuda ne kadar yardımcı olabilirsiniz bilmiyorum ama..
    yardım ederseniz sevinirim

  4. kahvelekesi

    Bir sorum olacak select menude sectiğim şehir seçili olmasını(diminin yazmasını istiyorum) istiyorum.Tekrar şehir seçin diye yazmasın nasıl yapabiirim

  5. burak arslan

    @kahve lekesi GET le default şehri alıcaksın option daki şehir değerine basit bir eklemeyle seçtirebilirsin.

  6. isimsiz kovboy

    Ben sorunsuz çalıştırıyorum sıkıntı yok fakat seçim kısmına gelince şehirleri seçmiyor var sayılan şehri gösteriyor diğer şehirleri seçtiğim zaman sebebi ne olabilir acaba?

    • Caner
      Yazar

      hava_duzenle fonksiyonunun içinde bul – değiştir ile yapabilirsin, yani aşağıdaki kodu

      1
      2
        $search = array('Tarih:','Basinc:','Nem:','°C');  
        $replace = array('<b>Tarih: </b>','<b>Basınç: </b>','<b>Nem: </b>','°C');

      şöyle değiştirirsen işin görülür diye tahmin ediyorum:

      1
      2
        $search = array('Tarih:','Basinc:','Nem:','°C','SaganakYagis','Yagmur');  
        $replace = array('<b>Tarih: </b>','<b>Basınç: </b>','<b>Nem: </b>','°C','<img src="saganak.jpg" alt="" />','<img src="yagmur.jpg" alt="" />');
  7. Onur

    Merhaba,

    Havadurumunu cache kullanarak nasil gosterebiliriz? Cok fazla istek gelince sunucuyu anlik yorabilir.

Uyarı: Yorumlarda link kullanmayınız. Link içeren yorumlar otomatik olarak spam kabul edilmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir