Php’ de RSS oluşturmak
Rss oluşturmayı anlatmadan önce rss’ in ne olduğunu ve ne işe yaradığını anlatmakda fayda olacağını düşünmekteyim.
RSS NEDİR?
RSS, genellikle haber sağlayıcıları, bloglar ve podcastler tarafından kullanılan, yeni eklenen içeriğin kolaylıkla takip edilmesini sağlayan özel bir XML dosya formatıdır. Kullandığı dosya biçimleri .rss ve .xml’dir.
RSS kısaltmasının açılımı ve zaman içinde gelişimi şöyledir:
- Rich Site Summary (RSS 0.91)
- RDF Site Summary (RSS 0.9 and 1.0)
- Really Simple Syndication (RSS 2.0.0)
Yani kısaca RSS, bizim takip etmek istediğimiz bir sayfanın eğer içeriğinde bir güncelleme olursa bize kısa yoldan haber verme mekanizması diyebiliriz.
Php’ de RSS Yapısı Oluşturmak :
size vereceğim örnekle ilgili bir fonksiyonumuz mevcut :
function cleanText($intext) { return html_entity_decode( htmlspecialchars( stripslashes($intext))); }
yukarıdaki fonksiyon sayesinde veritabanımızdan gelecek olan verinin içinde xml (rss) yapısını bozacak özel karakterler var ise onları etkisiz hale getirecektir. Gene aşağıdaki kodda (rss.php) herhangi bir türkçe karakter sorununuz olmayacaktır 🙂
<?php function cleanText($intext) { return html_entity_decode( htmlspecialchars( stripslashes($intext))); } header("Content-Type: text/xml;charset=utf-8"); $db = mysql_pconnect("sunucu","kullanıcı adı","şifre"); if (!$db) { error_log("Hata : Veritabanı bağlantısı yapılamadı !"); exit; } @mysql_select_db("veritabanı adı"); mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'"); $query1 = "SELECT id, baslik, aciklama, eklenme_tarihi FROM yazi ORDER BY addingDate DESC LIMIT 10"; $result1 = mysql_query($query1); $phpversion = phpversion(); $root = "http://www.enespekkaya.com"; ECHO <<<END <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>EnesPekkaya.Com | En Son Eklenen 10 Yazı</title> <link> http://www.enespekkaya.com </link> <description>EnesPekkaya.Com sitesine eklenen son 10 yazıyı buradan takip edebilirsiniz.</description> <language>tr</language> <docs>$root/WebServices/rss.php</docs> <generator>PHP/$phpversion</generator> END; for ($i = 0; $i < mysql_num_rows($result1); $i++) { @$row = mysql_fetch_array($result1); $title = cleanText($row["baslik"]); $link = $root ."index.php?id=". cleanText($row["id"]); $description = cleanText($row["aciklama"]); $guid = "tag:".$root; $pubDate = date("r", strtotime($row["eklenme_tarihi"])); ECHO <<<END <item> <title>$title</title> <link>$link</link> <description>$description</description> <pubDate>$pubDate</pubDate> <guid isPermaLink="false">$guid</guid> </item> END; } ECHO <<<END </channel> </rss> END; ?>
yukarıdaki yapıda değişiklik yapmanız gereken yer, veritabanı bilgileri ve sql cümlesindeki yerlerdir.
Herkese hazır yoldan kod yazmalar 🙂
4 yorum bulunmaktadır - “Php’ de RSS oluşturmak”
Yorum Yapın
Etiketler
Son Yazılar
- Uzak sunucuda bulunan android cihaz ile otomasyon
- Mac’ de çoklu Java versiyon yönetimi
- İş yarar docker komutları
- Eski branchlerin git’ den silinmesi
- Kubernetes Süresi Dolmuş Sertifikaları Yenilemek
Son Yorumlar
- Hosting koşuşturması için
- Garanti Sanal Pos Kurulumu, Sorunlar ve Çözümler için
- Visual Studio Toolbox’a component(bileşen) eklenmesi için
- “File is too large for destination file system” hatasını gidermek için
- Php’de UTF-8 Türkçe karakter sorunu ve çözümü için
Bağlantılar
Arşivler
- Kasım 2021
- Eylül 2021
- Ağustos 2021
- Temmuz 2021
- Aralık 2020
- Kasım 2020
- Ekim 2020
- Eylül 2020
- Kasım 2017
- Mayıs 2017
- Mart 2017
- Şubat 2017
- Ocak 2017
- Nisan 2015
- Aralık 2014
- Mayıs 2014
- Eylül 2013
- Haziran 2013
- Şubat 2013
- Kasım 2012
- Ekim 2012
- Eylül 2012
- Mart 2012
- Şubat 2012
- Ocak 2012
- Aralık 2011
- Kasım 2011
- Ekim 2011
- Eylül 2011
- Temmuz 2011
- Haziran 2011
- Mayıs 2011
- Mart 2011
- Ocak 2011
- Aralık 2010
- Kasım 2010
- Ekim 2010
- Eylül 2010
- Ağustos 2010
- Temmuz 2010
- Haziran 2010
- Mayıs 2010
- Nisan 2010
- Mart 2010
- Şubat 2010
- Ocak 2010
- Haziran 2009
- Mayıs 2009
- Nisan 2009
- Mart 2009
İyi günler.Sitemde kurulu olan hazır scriptimin rss desteği yok. Php kod bilgim çok fazla yok ama anlıyorum biraz. dediklerinizi yaptım fakat benim sorunum şu kısımda ,
for ($i = 0; $i < mysql_num_rows($result1); $i++) {
@$row = mysql_fetch_array($result1);
$title = cleanText($row["title"]);
$link = $root ."index.php?id=". cleanText($row["id"]);
$description = cleanText($row["description"]);
$guid = "keyword:".$root;
$pubDate = date("r", strtotime($row["addtime"]));
Bana yardımcı olabilirmisiniz ?
title,id,addtime,description kısımları tablondaki alan adların murat
merhabalar
“Parse error: syntax error, unexpected T_FUNCTION in /home4/hkncllk/alanyadobraemlak.com/rss.php on line 3”
böyle bir hata alıyorum
sitem yorum yaparken kullandıgım bilgilerde var.
merhabalar,
line 3 de ne olduğunu yazabilirseniz yardımcı olmaya çalışayım.