Yasin Koç'un Kişisel Günlüğüdür..

 
PHP 5 ve Simple XML ile Feed

Gönderen: yasin 04.03.2011 23:21:24

Yazının Kategorisi: Php Bu yazı 2458 kez okundu.

Yazının Türü: İpucu Bu yazıya 0 yorum yapıldı.

Merhabalar,

Bu iş aslında bir xml çıktısı üretiyor fakat kodlama bölümü tamamen PHP'de olduğu için bunu php kategorisinde yayımlamayı uygun gördüm..

Çeşitli feed uygulamaları incelerken gözüme PHP'nin Simple Xml adındaki global bi fonksiyonu takıldı, incelemeye başladım ve hiç de harici sınıf vs. işlere gerek olmadığına karar verdim..

Not: Amatör bir kullanıcı olmadığınızı varsayıyorum.

 

header("Content-type: text/xml; Charset=UTF-8");
$sql="SELECT * FROM haberler WHERE durum = '1' ORDER BY id DESC";
$res = ysp_db::query(array('sql'=>$sql,'dbl'=>ysp::$dbl,'db'=>ysp::$conf['db']['name'],'file'=>__FILE__,'line'=>__LINE__));
$i=0;
while($haber = mysql_fetch_assoc($res)) : $haberler[$i] = $haber; $i++; endwhile;

 

Yaptığımız sorgu klasik gördüğünüz gibi.

 

$rss = simplexml_load_string("<?xml version='1.0'?><rss version='2.0'><channel>
<title>".ysp::$title."</title>
<link>".ysp::$conf['site']['base_url']."feed/</link>
<description>".ysp::$description."</description>
<language>tr-tr</language>
<generator>Ysn Web Manager</generator>
</channel>
</rss>");

foreach($haberler as $haber) {
    $child = $rss->channel->addChild('item');
    $child->addChild('title', $haber["baslik"]);
    $child->addChild('pubDate' ,date('d.m.Y H:i:s',$haber['tarih']));
    $child->addChild('link', ysp_tema::ic_link("yazilar/".$haber["seo"]));
    $yazi = substr($haber["mesaj"],0,500);
    $child->addChild('description',$yazi);
}
?>
<?=$rss->asXML();?>

 

Bu da çıktı için gerekenler.. 


Kısaca, simple_xml_load_string içinde başlıca tagları ve içlerini dolduruyoruz ve fonksiyonu kapatıyoruz.
foreach ile birlikte alt etiketleri yani itemleri basıyoruz.

En son echo $rss->asXML(); çıktıyı basıyor.

Tabii ki $haber["baslik"] gibi bilgilerin yerine kendi bilgilerinizi girmeyi unutmayınız. Ben bu işlemleri YSP'de uyguladığım için filtre etmeden yayınlıyorum, gerisi sizindir :)

Tekrar söylüyorum, yazımda amatör bir kullanıcı olmadığınızı varsayıyorum.

Saygılarımla,
Yasin Koç.

Bu habere yapılmış bir yorum yoktur. İlk yorum ekleyen siz olun!

 Yorum Ekle 
İsminiz *:
Email *:
Websiteniz :
Yorumunuz :
Güvenlik Kodu :

 

Kullanıcı Girişi

Kullanıcı Adı:
Şifre:

Bağlantılar

Since 2006. Powered By ysn © Rss