Php’de Rss programlama

RSS (Really Simple Syndicatio) NEDİR?

Rss kısaca internet siteleri tarafından yayınlanan haber, duyuru vb. içeriğin topluca görüntülenmesine olanak sağlayan yöntemdir.

RSS’ler channel ve item lerden oluşur. Şimdi aşağıda channel ve item yapılarını inceleyelim.

CHANNEL

Gerekli channel elementleri: title, link, description
Opsiyonel channel elementleri: language, copyright, managingEditor, webMaster, pubDate, lastBuildDate, category, generator, docs, cloud, ttl, image, rating, textInput, skipHours, skipDays

<title>...</title>
Rss başlığını gösterir.

Kod:

  <title>Ceviz.net</title>
<link>...</link>

Site adresini gösterir.

Kod:

  <link>http://www.ceviz.net</link>
<description>...</description>

Site hakkında bilgi verilir.
Kod:

  <description>Ceviz.net Programlama, Makaleler, Kodlar vb.</description>
<language>...</language> ( Rss'nin yayınlandığı dil kodu )

Kod:

  <language>tr</language>
<copyright>...</copyright>  ( Copyriht bilgisini içerir )

Kod:

  <copyright>Copyright 2006, ceviz.net</copyright>
<managingEditor>...</managingEditor> ( İçerikle ilgili konulara cevap verecek yetkilinin email adresi )

Kod:

  <managingEditor>editorr@ceviz.net</managingEditor>
<webMaster>...</webMaster> ( Teknik konulara cevap verecek yetkilinin email adresi )

Kod:

  <webMaster>webmasterr@ceviz.net</webMaster>
<pubDate>...</pubDate> ( Rss nin oluşturulma tarihi )

Kod:

  <pubDate>Mon, 07 May 2005 11:25:42 GMT</pubDate>
<lastBuildDate>...</lastBuildDate> ( Rss nin son değiştirilme tarihi )

Kod:

  <lastBuildDate>Mon, 07 May 2005 11:25:42 GMT</lastBuildDate>
<category>...</category> ( Rss kategorisini gösterir. Birden fazla seçilebilir )

Kod:

  <category>Haberler</category>

ITEM

Gerekli item elementleri: title, link, description
Opsiyonel item elementleri: author, category, comments, enclosure, guid, pubDate, source

<title>...</title> ( Item başlığını gösterir )

Kod:

  <title>Ceviz.net Haberleri</title>
<link>...</link> ( Item adresini gösterir )

Kod:

  <link>http://www.ceviz.net/rssnedir.html</link>
<description>...</description> ( Item hakkında kısa açıklama)

Kod:

  <description>Rss kısaca internet siteleri tarafından yayınlanan ...</description>
<author>...</author> ( Itemi yazan kişi )

Kod:

  <author>Emre Çevik</author>
<category>...</category> ( Item kategorisi )

Kod:

<category>Makaleler</category>
<category domain="http://www.ceviz.net/makaleler">Makaleler</category>
<comments></comments> ( Item yorumları )

Kod:

  
<comments>http://www.ceviz.net/rssnedir/yorumlar</comments>
  <pubDate>...</pubDate> ( Itemin oluşturulma tarihi )

Kod:

<pubDate>Mon, 07 May 2005 11:25:42 GMT</pubDate>
<source>...</source> ( Itemin kaynağı )

Kod:

<source url="http://www.php.net/rss.xml">Ceviz XML</source> 

Yukarıdaki bilgileri öğrendikten sonra şimdi rss dosyamızı oluşturmaya başlıyabiliriz.

RSS dosyaları 4 ana başlıktan oluşur.

1- XML İFADESİ
2- RSS ve CHANNEL ETİKETLERİ AÇILIR
3- İTEM BİLGİLERİ
4- CHANNEL VE RSS ETİKETLERİ KAPATILIR

Kod:

<!-- XML İFADESİ -->
<?xml version="1.0" encoding="utf-8"?> 
<!-- RSS ETİKETİ AÇILIR -->
<rss version="2.0">
<!-- CHANNEL ETİKETİ AÇILIR -->
<channel>
<title>RSS BAŞLIĞI</title>
<link>http://www.siteadresi.com/</link>
<description>Bu sitede rss anlatılmaktadır.</description>
<lastBuildDate>Mon, 12 Mon 2006 12:33:00 GMT</lastBuildDate>
<managingEditor>editor@siteadresi.com</managingEditor>
<webMaster>webmaster@siteadresi.com</webMaster>
<copyright>Copyright 2006, siteadresi.com</copyright>
<language>tr</language>
<!-- ITEM BİLGİLERİ BAŞLANGIÇ -->
<item>
<title>BAŞLIK 1</title>
<link>http://www.siteadresi.com/yazi/1</link>
<category>Makaleler</category>
<pubDate>Mon, 12 Mon 2006 13:23:00 GMT</pubDate>
<description>Başlık 1 konulunu makalenin içeriği</description>
<author>Emre</author>
</item>
<!-- ITEM BİLGİLERİ SON -->
<!-- ITEM BİLGİLERİ BAŞLANGIÇ -->
<item>
<title>BAŞLIK 2</title>
<link>http://www.siteadresi.com/yazi/1</link>
<category>Makaleler</category>
<pubDate>Mon, 12 Mon 2006 13:25:00 GMT</pubDate>
<description>Başlık 2 konulunu makalenin içeriği</description>
<author>Emre</author>
</item>
<!-- ITEM BİLGİLERİ SON -->
</channel>
<!-- CHANNEL ETİKETİ KAPTILIR -->
</rss>
<!-- RSS ETİKETİ KAPTILIR -->

Şimdi php ile nasıl rss oluşturacağımızı öğrenelim.

Kod:

<?php

include "config.php"; // mysql bağlantı bilgilerinin bulundugu ayar dosyası

header("Content-type: text/xmlnn");

echo "<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
<channel>
<title>rss basligi</title>
<description>rss aciklamasi</description>
<link>http://www.example.com/</link>
<language>en-us</language>";

$yazilar = mysql_query("SELECT * FROM yazilar where kategori='REQUEST[cat]'");
while($yazi = mysql_fetch_assoc($yazilar)) {
$link = "http://www.example.com/yazi?id=".$yazi[id];
echo "
<item>
<title>".$yazi[baslik]."</title>
<description>".$yazi[icerik]."</description>
<link>".$link."</link>
</item>";
}

echo "
</channel>
</rss>";

?>

Yukarıdaki kodda rss.php?cat=5 olarak seçildiğinde 5. kategorideki yazıları listeler. Bu kod üzerinde biraz değişiklik yaparak sitenizde kullanabilirsiniz. Geliştirmek sizin elinizde.

Be the first to comment

Leave a Reply

Your email address will not be published.


*