Merhabalar arkadaşlar kendi web sitemde anlık olarak döviz kurlarının takibini yaptığım bir sistem yazmıştım. Devamında yazdığım bu sistem biz tasarımcıların muhakak bir yerlerde işine yarayacağını düşünerek buraya eklemek istedim. Yaptığımız işlemleri doviz.com üzerinden alıp web sitemizde bizim kaynağımızdaymış gibi gösteriyoruz, herhangi bir link gösterimi de olmuyor haliyle, bu işlemi yapmadan önce bilmeliyiz ki sunucumuzda curL fonksiyonunun açık olması gerekmektedir, lafı da çok uzatmadan basitçe anlatıma geçiyorum.

Yapacağımız işlemler sonucunda Anlık olarak, Dolar Kuru, Altın Kuru, Euro Kurunu sistemimiz üzerinde sorunsuzca göstereceğiz.

Curl ile Sayfa Bağlantı Fonksiyonumuz yazıyoruz. Kaynak Kodunuza veya var ise fonksiyon dosyanıza ekleyebilirsiniz.

function sayfayaBaglan($ursa){ 
$useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; tr-TR; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13';
$referer = 'http://www.google.com/'; 
$ch = curl_init(); 
$zaman = 0; 
curl_setopt ($ch, CURLOPT_URL, $ursa); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $zaman); 
curl_setopt ($ch, CURLOPT_REFERER, $referer); 
curl_setopt ($ch, CURLOPT_USERAGENT, $useragent); 
$rmx = curl_exec($ch); 
curl_close($ch); 
return $rmx; 
} 
$baglanti =  sayfayaBaglan('https://www.doviz.com/');
preg_match_all('#<div class="header-doviz">(.*?)<div class="header-nav">#Ssie',$baglanti,$dovizheader);
preg_match_all('#<span class="menu-row2">(.*?)</span>#Ssie',$dovizheader[1][0],$dovizic);
preg_match_all('#<span class="menu-row3">(.*?)</span>#Ssie',$dovizheader[1][0],$kazanc);

Burada yaptığımız İşlemleri Adım Adım anlatmaya çalışayım

  • 1.İşlem -> $baglanti değişkenimizle doviz.com anasayfasına bağlantıyı sağlıyoruz.
  • 2.İşlem -> preg_match_all fonksiyonu ile doviz.com üzerinde bulunan kurların ana class’larını seçip $dovizheader değişkenine atadık
  • 3.İşlem -> bundan sonra preg_match_all fonksiyonumuzun kullanımında ise kısıtladığımız döviz kurlarının olduğu class arasında ki aradığımız döviz değerlerini parçalı halde alıyoruz.
  • 4.İşlem -> son olarak anlık olarak ne kadar bir değişim yaşadığını gösteren değerleri $kazanc değişkenine atayıp fonksiyonel işlemleri bitiriyoruz

Buraya Kadar yaptığımız işlemlerde bir sorun olduğunu düşünüyorsanız, aşağıdaki kodları yazarak dizi içerisindeki değerleri kontrol edebilirsiniz eğer ki boş dönüyor ise bir sorun var demektedir, eğer sonuçları kaynakta görüyorsanız bu kodları silip aşağıda ki adıma geçebilirsiniz.

print_r($kazanc);
print_r($dovizic);

Ben Tablo şeklinde kodlama yaptım şayet dilerseniz kendinize göre tasarımı özgünleştirebilirsiniz. değerleri dizi içerisindeki numaralarına göre ayırarak $kazanc[1][0]; şeklinde ve artırarak yazabilirsiniz.

<table class="">
<tbody>
<tr>
<td colspan="3">Anlık Döviz Kurları</td>
</tr>
<tr>
<td><strong>Gram Altın Fiyatı</strong></td>
<td><strong>Dolar Fiyatı</strong></td>
<td><strong>Euro Fiyatı</strong></td>
</tr>
<tr>
<td><?php echo $dovizic[1][0]; ?> TL <span class="pull-right"><?php echo $kazanc[1][0]; ?></span></td>
<td><?php echo $dovizic[1][1]; ?> TL <span class="pull-right"><?php echo $kazanc[1][1]; ?></span></td>
<td><?php echo $dovizic[1][2]; ?> TL <span class="pull-right"><?php echo $kazanc[1][2]; ?></span></td>
</tr>
</tbody>
</table>
Metin Saraç 0 38 31 Ağustos 2017
0 beğeni - 0 Yorum