Flashcentury
Twitter
Facebook
Linkedin
Rss
friendfeed
Php ile Dinamik RSS beslemesi Yapımı

Php ile Dinamik RSS beslemesi Yapımı

Yazar Hüseyin Kocak

Kategoriler: PHP, XML

WordPress veya benzeri sistemlerde beraberinde gelen RSS ‘yi dinamik olarak nasıl oluşturacağımızı anlatacağım ama öncelikle RSS nedir bir gözden geçirelim.

RSS nedir?
RSS yani orjinal açılımı ile Rich Site Summary (Zengin Site Özeti) kelimelerin baş harflerinden oluşur. RSS ‘nin kullanım amacı site ziyaretçilerinin içeriğinizi daha rahat takip etmesi ve bazı sosyal ağlar da (örneğin facebook, friendfeed, twitter) içerinizi rahatlıkla yayınlamanızı sağlar. Xml formatlı RSS dosyalarının uzantları .Rss veya .xml olabilir fakat biraz sonra yapacağımız örnekte .php olarak kullanacağız.

İlk Örneğimiz

RSS dosyası iki ana bölümden oluşuyor, birincisi dosyamızı tanımladığımız üst kısım ve ikinci olarak içeriğimizin sıralanacağı alt item kısmı. Statik olarak bir Rss dosyası aşağıdaki gibidir…

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<rss version=\"2.0\">
<channel>
<title>Rss beslememizin Basliği</title>
<link>http://www.sitemiz.de/</link>
<description>Ress Beslemesı Acıklama</description>
<language>de-de</language>
<copyright>copyright Flashcentury.de</copyright>
<webMaster>info@flashcentury.de</webMaster>

<item>
<title>baslik</title>
<link>link</link>
<pubDate>Tarih</pubDate>
<description>içerik</description>
</item>

</channel>
</rss>

Gördüğünüz gibi xml ve ardından Rss etiketleri ile dosyamızı başlattık ve Rss beslemesi hakkında genel bilgileri verdik ardından item etiketi altında içeriğimizi sunduk. Bu örnekte bir item var fakat 10-20 arası item ekleyebiliriz.

Dinamik RSS dosyamızı oluşturuyoruz

Evet şimdi geldik dinamik olarak nasil RSS oluşturacağımıza. Hemen başlayalım ;

include 'sqlbaglantimiz.php'
header("Content-type: text/xml\n\n");

echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<rss version=\"2.0\">
<channel>
<title>Neu-Handys</title>
<link>http://www.flashcentury.de/</link>
<description>Ress Beslemesı Acıklama</description>
<language>de-de</language>
<copyright>copyright Flashcentury.de</copyright>
<webMaster>info@flashcentury.de</webMaster>
";

$rssSql = mysql_query("SELECT * FROM tablo order by id desc limit 20");
while($rss = mysql_fetch_assoc($rssSql)) {

echo "
<item>
<title>$rss[baslık]</title>
<link>$rss[link]</link>
<pubDate>$rss[tarih]</pubDate>
<description>$rss[ıcerik]</description>
<category>$rss[kategorı]</category>
</item>
";
}

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

Yukarıdaki örnekte bir Sql bağlantısı yaptığınızı farzediyorum ve bunu “sqlbaglantimiz.php” dosyasını include ederek dosyamıza dahil ediyoruz.
Sonrasında dikkat etmemiz gereken en önemli hususlardan biri ise ikinci satırda yeralan kodumuz yani ;

header(“Content-type: text/xml\n\n”);

header fonksiyonu ile Php dosyamızın bir xml olduğunu sunucuya bildiriyoruz. Aslında kilit kod budur aksi taktirde Rss reader ve tarayıcınız Php dosyası olduğunu kabul eder ve RSS çalışmaz.

Sonrasında statik Xml kodlarımızı yazdık ve RSS sunumumuz hakkında bilgiler verdik

MySql bağlantımızı yaptığımızı farzederek içeriğimizi yayınlamak istediğimiz MySql tablomuza bağlanıp bir döngü oluşturuyoruz ve döngü içerisine item veya içeriklerimizi sıralatıyoruz. Burada dikkat etmeniz gereken şey itemlar en fazla 20 tane olmalıdır aksi taktirde RSS dosyanız çalışmaz.

Canlı bir RSS örneği görmek isterseniz son hazırladığım sitelerden biri olan Cepnet.de ‘yi inceleyebilirsiniz. Eğer Firefox kullanıyorsanız Adres satırının sağında turuncu RSS iconunu göreceksiniz tıkladığınızda iki adet dinamik RSS sizi bekliyor olacak :)

veya şu adreslerden direk ulaşabilirsiniz
http://www.cepnet.de/media/rss/rss-Top-Handys.php
http://www.cepnet.de/media/rss/rss-Neu-Handys.php

RSS dosyamızı nasıl HTML içene dahil edeceğiz
evet RSS dosyamız hazır ise son olarak html kodlarımız içerisine dahil etmemiz gerekiyor.

<link rel=”alternate” type=”application/rss+xml” href=”rss_dosyamiz.php” title=”Rss baslık” />

Yukarıdaki kodlarla Tarayıcıya bu sitede bir Rss olduğunu bildiriyoruz.

Basit bir RSS dosyasını nasıl dinamik oluşturacağımızı anlattım fakat RSS dosyamizin içerisine daha başka içerikler (örneğin Resim, html kodları) ekleyebilir daha zengin bir sunum yapabiliriz. Bir sonraki makalemde RSS konusuna devam ederek RSS içerisinde kullanabileceğiniz etiketleri anlatarak bu konuya devam edeceğim.

———————————————————————————–

Creative Commons License
Php ile Dinamik RSS beslemesi Yapımı by Flashcentury is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Germany License.
Based on a work at www.flashcentury.net.
Permissions beyond the scope of this license may be available at http://www.flashcentury.net.

Bu internet sitesi IntenseDebate yorum sistemini kullanıyor. Yorumlar henüz yüklenemedi, çünkü tarayıcınız JavaScript desteklemiyor veya yorumlar yeterince hızlı yüklenemiyor.

Leave a Comment Here's Your Chance to Be Heard!

20 Ocak 2010

Etiketler: , , , , ,

Benzer Yazılar