Bu yazıda çok kolay bir şekilde php ile veri çeken bir uygulama yapacagız. Bunun için Namazvakti.com sitesine baglanıp seçtigimiz bir ilin namaz vakitlerini ekrana yazdıran bir örnegin basit olması bakımından anlaşılabilir oldugunu düşündüm.
Bu işlemi yapmak için Php’nin 2 farklı komutunu kullanacagız. Bunlardan ilki file_get_contents( ); komutu. Bu komut, işlemi yapmak istedigimiz sitedeki tüm html kodlarını istedigimiz bir değişkene kaydeder.
<?php $siteadresi = file_get_contents("http://www.namazvakti.com/Main.php?cityID=16761"); /* http://www.namazvakti.com/Main.php?cityID=16761 Nevşehir'e ait namaz vakitlerinin bulundugu adres. */ ?> |
Görüldügü gibi kullanımı çok basit bir kod. Kullanacagımız 2. kod ile de sayfanın tüm içerigini çektigimiz degişkenden işimize yarayan kısımları alacagız. Bu örnekte ben sadece İmsak vaktinin ekrana azdırılmasının yeterli oldugunu düşündüm. Aynı kodu farklı şekilde uygulayarak tüm ezan vakitlerini de ekrana yazdırmak mümkün.
Bu işlemi yapmak için çekmek istedigimiz verinin sitenin hangi kodları arasında bulundugunu iyi saptamız gerekiyor.
Bizim çekmek istedigimiz sayfada kodların kullanımı td id=”timeImsak” class=”pTime”> İmsak Vakti
<?php $imsak = explode('<td id="timeImsak" class="pTime">',$siteadresi); /* Burada kesmek istedigimiz verinin başlangıç kısmını ve içerigin kaynagı olan degişkeni yazdık. */ $imsak = explode('</td></tr>',$imsak[1]); /* </td></tr> kodları çekmek istedigimiz veriden sonraki kod. Burada önemli olan bir diger konu ise çekmtigimiz bilginin bir array komutu içine alınmış olması. Yani sayfada aynı başlangıç ve bitişe sahip diger bilgiler de $imsak[0] $imsak[1] ... şeklinde sıralanacaktır. Ama bizim sayfamızda öyle birşey olmadıgı için İmsak Vaktini ekrana yazdırıyoruz. */ echo ("Nevşehir İçin İmsak Vakti : <b>"); echo $imsak[0]; echo ("</b>"); ?> |
Bu yöntemi görünce aklıma birçok websitesi fikri geldi. Çok basit kodlarla bile bu yöntemle büyük haber siteleri kodlanabilir. Teşekkürler
Birşey degil Metin
Asıl ben teşekkür ederim.
ilk explode yaptigimiz yer yani:
$imsak = explode(”,$siteadresi);
de explode icerisindeki ‘ tek tirnak isareti aradigimiz kod icerisinde bi yerde geciyorsa, explode foksiyonunu oracikta kapatiyor yani ornegin:
$imsak = explode(‘(KDV’**(<-kodu burada kapatiyor)**li)’,$siteadresi);
ne yapmam lazim?
merhaba ahmey kardes
ben sorumu en iyisi soyle sorayim
OLTU(KDV’li)4,004,004,033,303,402,911,67 2,151,74
burdaki kdv’li den sonraki sayi degerleri varya bunlari tek tek nasil alabilirim arrayin icine? yardimci olursan cok sevinirim
Merhaba ahmet. explode(” “); kodunun içine bir tıknak işareti yazdığımızda tırnakların karıştıgından bahsediyorsun galiba.
Bu gibi durumlarda ben explode(‘ ‘); kullanmayı tercih ediyorum.
wordpress üzeri oluyormu bu? Eklenti
@sohbet wordpress üzerinde çalışıp da, aynı işi gören eklentiler görmüştüm sitelerde. Ama ne adını bilirim ne de kullandım.
WordPress bloglarında kullanılan bu tarz programlar genel de içerik hırsızlığı amacıyla kullanılırken bu örnekte olduğu gibi bu yöntemle bir çok faydalı uygulama yazabiliriz.
Şahsen ben daha önce bir çok ihtiyacımı bu basit yöntemle giderdim.