IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 22 Mayıs 2012, 15:34   #1
Deep
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Yüzdesi:(%)
RSS beslemesi oluşturma ve okuma




Rss beslemeleri temelde bir XML dosyasıdır, amaçları da girilen son yazıları belirli kurallara göre listelemektir. Bu yazıyla kolayca haber akışınızı takipçilerinize ulaştıracağınız bir besleme sayfasına kavuşacaksınız.

İlk olarak, rss beslemesinin yapısını göstererek konuya başlayalım. Daha sonra veritabınından aldığımız verilerle sürekli güncelliğini koruyan bir rss sayfası oluşturacağız.

Konunun en sonunda da, şuanda sitemde bulunan rss beslememden, güncel konuları çekmeyi göstereceğim. Yazı biraz uzun gibi gelebilir size ama konuyu tam anlamıyla kapsaması ve eksik bir bölüm kalmaması için bu yolu tercih edeceğiz.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?xml version="1.0" encoding=utf-8"?>
<rss version="
2.0">
<channel>
    <title>bcakir</title>
    <atom:link href="
http://siteniz.com/feed" rel="self" type="application/rss+xml"/>
    
<link>http://siteniz.com</link>
    
<description>SaklayıcılıktanPaylaşımcılığa</description>
    <
lastBuildDate>Fri13 Apr 2012 18:12:36 +0000</lastBuildDate>
    <
language>en</language>
    <
sy:updatePeriod>hourly</sy:updatePeriod>
    <
sy:updateFrequency>1</sy:updateFrequency>
    <
generator>http://wordpress.org/?v=3.3.1</generator>
 
        
<item>
            <
title>İletişim Teorileri ve Yeni Medya Düzeni</title>
            <
link>http://siteniz.com/iletisim-teorileri-ve-yeni-medya-duzeni.html</link>
            
<description><![CDATA[
            
Yaptığım araştırmalaranalizler ve kendi düşündüklerim  [...
            ]]></
description>
            <
pubDate>Fri13 Apr 2012 18:07:25 +0000</pubDate>
        </
item>
 
        <
item>
            <
title>JQuery Nivo Slider</title>
            <
link>http://siteniz.com/jquery-nivo-slider.html</link>
            
<description><![CDATA[
            
JQuery ile yapılmış nivo slider örneğinin kullanımını sizlere göstereceğim  [...]
            ]]></
description>
            <
pubDate>Wed29 Feb 2012 17:55:50 +0000</pubDate>
        </
item>
 
</
channel>
</
rss>

Bir rss dosyasının yapısını incelediğimizde yaklaşık olarak yapısının yukarıdaki gibi olduğunu görüyoruz. Bazı siteler <comment> gibi ilave etiketlerde ekliyorlar ama temel yapısı aşağı yukarı bu diyebilirim. Yapısını anladıktan sonra, dinamik bir rss sayfasının nasıl yapılacağını gösterelim.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?php
//veritabanına bağlanma
$baglan=mysql_connect("localhost",'root','');
mysql_select_db('gunluk_yazilari',$baglan);
 
//xml dosyası olduğunu tanımlama
header('Content-Type: text/xml');
 
//rss beslemesi tagları
echo '<?xml version="1.0" encoding=utf-8"?>
<rss version="2.0">
<channel>
    <title>siteniz</title>
    <atom:link href="http://siteniz.com/feed" rel="self" type="application/rss+xml"/>
    <link>http://siteniz.com</link>
    <description>Saklayıcılıktan, Paylaşımcılığa</description>
    <lastBuildDate>Fri, 13 Apr 2012 18:12:36 +0000</lastBuildDate>
    <language>en</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <generator>http://bcakir.com</generator>'
;
 
//veritabanından son 10 kaydı al
$sec mysql_query("SELECT id, title, description, pubDate FROM yazilar ORDER BY pubDate DESC LIMIT 10") or die(mysql_error());
while (
$kayit mysql_fetch_array($sec)){
    echo 
'
       <item>
          <title>'
.$kayit[title].'</title>
          <description><![CDATA[
          '
.$kayit[description].'
          ]]></description>
          <link>http://siteniz.com/yazi.php?id='
.$kayit[id].'</link>
          <pubDate>'
.$kayit[pubDate].' GMT</pubDate>
      </item>'
;
}
 
//açılan rss taglarını kapatma
echo '</channel>
</rss>'
;
 
//veritabanı bağlantısı sonlandırma
mysql_close();
?>

Burada son 10 kaydı listeledik. Kendinize uygun olarak değiştirebilirsiniz fakat 10-15 kayıtın ideal bir rakam olduğunu belirtmeden geçmeyeyim. Bir de buradaki tarih etiketinin değerinin doğru olduğuna emin olun. Yani, veritabanınıza tarihleri timestamp olarak keydettiyseniz, bu değerleri yukarıda gösterdiğim tarih yapısına çevirmeyi unutmayın. Son olarak Php ile rss okumayı da anlatarak yazımı tamamlayalım.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?php
//Rss beslememizin (XML dosyamızın) karakter seti
header("Content-Type: text/html; charset=utf-8");
 
//kaynaktan haberleri çekmekiyoruz
$xml=simplexml_load_file('http://bcakir.com/feed') or die('Kaynak okunamadı.');
 
//aldığımız son haberleri listeliyoruz
foreach($xml as $rss){
        foreach(
$rss->item as $kayit){
            
$konu$kayit->title;
            
$bilgi=$kayit->description ;
            
$link$kayit->link;
            echo 
"Konu: <a href='$link[0]'>$konu[0]<a/><br />";
            echo 
'Bilgi: '.$bilgi[0]."<br /><hr />";
        }
}
?>

Yukarıda ise sitemizin haber kaynağında bulunan yazıları dinamik olarak okuyup, listeledim. Siz bunu kolayca başka sitelerin haberlerini çekmek için de kullanabilirsiniz.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
beslemesi, okuma, oluşturma, rss, ve


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
.ini Dosyası Oluşturma ve Okuma Dilaold Delphi 0 16 Nisan 2010 13:03