20 Ağustos 2013 Salı

PHP ile RSS oluşturma

rss oluşturma
Bu işlerle ilgilenenler bilirler rss nedir? Ne işe yarar? Şimdi bunlara çok derinlemesine girmek istemiyorum ancak rss bir haber kaynağıdır ve biz bu kaynağı arama motorlarına göndererek güncel verilermizden arama motorlarının haberdar olmasını sağlarız.

Hazır sistemlerde rss dosyaları üzerinde yazılmıştır ve bunları hangi scripti kullanıyorsanız internette aratarak kaynağınızı bulabilirsiniz. Ancak kendiniz bir site yaptığınızda bunuda kendiniz yapmalısınız.

Örnek olması için php ile rss kaynağı yapalım.

Genel olarak mantık aynıdır.

RSS de  bazı taglar vardır.Bu taglar aynı html gibidir ve bu kodlar xml kodları olarak geçer

RSS basit olarak bir xml dosyasıdır ancak bunu dinamik yapmak için biz bunu bir php dosyasında yazacağız.



<?php
header("Content-type: text/xml\n\n");
$baglan=mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("xxx",$baglan) or die(mysql_error());
mysql_query("SET NAMES 'latin5'");
mysql_query("SET collation_connection = 'Latin5'");

echo "<?xml version=\"1.0\" encoding=\"ISO-8859-9\"?>
<rss version=\"3.0\">
<channel>
<title>Hastemiz Halı</title>
<description>Alonesoftware, Yazılım</description>
<link>http://www.alonesoftware.net/</link>
<language>en-us</language>
";


$yazilar = mysql_query("SELECT * FROM urunler");
while($yazi=mysql_fetch_assoc($yazilar)) {
$urunadi=iconv("ISO-8859-9","UTF-8",$yazi['urun_adi']);
$link = "xxx";
$resimgetir=mysql_fetch_row(mysql_query("select id from urun_resim where secim=1 and urun_id=".$yazi['id']));
$resim="http://www.hastemiz.com/urunler/".$yazi['id']."/s/".$resimgetir[0].".jpg";
$marka=iconv("UTF-8","ISO-8859-9",$yazi['marka']);
echo"
<item>
<title>$yazi[urun_adi]</title>
<description>
    <![CDATA[
    <a href='".$link."'><img src=".$resim." style='clear: left; float: left; margin-bottom: 1em; margin-right: 1em;' width='100' /></a>
    ]]> ".$marka."
</description>
<link>$link</link>
</item>
";
}


echo
"
</channel>
<copyright>2013 Alonesoftware Bütün Hakları Saklıdır.</copyright>
</rss>";

?>


Yukarıdaki belgeyi kısaca açıklayayım.

header ile sayfanın en başında dosyanın türünü xml olark tanımladık.Eğer bunu yapmazsak dosyamız php olarak işler ve xml kodları çalışaz.

daha sonra veritabanı işlemi için bir bağlantı yaptık siz kendi verilerinize göre değiştiririn.

sonrada xml dosyanının en başında olması gereken tagları echo komutu ile php dosyası çalıştığında yazdırmak üzere kodladık.

<item></item> bu satır içerisindeki veriler verilen değerleri gösterir onun için php ile bu satıdan bir döngü oluşturduk ve veritabanından çektiğimiz verileri bu satırda gösterdik

Not: Normalde xml satırlarının arasında html kodları kullanılamaz ama bazen gerek duyabilirsiniz bunun içinde 

<![CDATA[xxx Burada html kodları kullanabilirsiniz.]]> satırını kullanın


en son olarak döngümüz bittiğinde üstte tanımladığımız rss taglarının kapatma taglarınını echo ile yazdırıyoruz ve işlemi tamamlamış oluyoruz.

RSS çok kapsamlı bir dosya halindede olabilir.Bunun birçok tag var bu tagları internetten nasıl kullanılacağını bularak bu sisteme uygulayabilirsiniz.

Basit bir şekilde rss bu  şekile php ile kullanılmaktadır.Aynı mantığı başka dillerdede kullanabilirsiniz.

Hiç yorum yok:

Yorum Gönder