NEX YAZILIM

NECMETTİN ASLAN KİŞİSEL YAZILIM GELİŞTİRME DÜŞÜNCE KEŞİF PAYLAŞIM VS GÜNLÜĞÜ

PHP, 11.03.2010 - 15:03
PHP ile RSS (Rich Site Summary - Zengin Site Özeti - Canlı Özet Akışı) Hazırlamak

İsminden de anlaşılacağı gibi RSS web sitelerindeki canlı (değişken) içeriklerin özetlerinin akışını izlemeyi sağlayan bir standarttır. RSS nin ne olduğu ile ilgili daha detaylı bilgiyi biraz google yaparak bulabilirsiniz. Bu dökümanda PHP kullanarak RSS hazırlamayı anlatacağım. Sağdaki menüde gördüğünüz RSS sayfamın kodlarını örnek olarak verip izah edeceğim. Kodları direk olarak aşağıda verip gerekli yerlere açıklamaları yazdım. Kendi sitenize göre özelleştirmek size kalıyor.

 

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

// sayfanın xml verileri içereciğini bildirdik. Oluşacak RSS sayfamızın diğer içeriğini programlıyalım:

// $xml_ciktisi isimli değişkeni sayfa sonunda echo ederek RSS sayfamızı oluşturmuş olacağız.

 

$xml_ciktisi="<?xml version=\"1.0\" encoding=\"iso-8859-9\"?>

// türkçe karakter problemi yaşamamanız için şart

 

<rss version=\"2.0\">

// versiyon numarasını bildirdik

 

<channel>

<title>NX YAZILIM</title>

<link>http://www.nxyazilim.com</link>

<description>NX Yazılım, Bol bol Bilgi</description>

<language>tr</language>

<copyright>(C) NX YAZILIM</copyright>"; 

// RSS kanalımızı oluşturmuş olduk. Şimdi veritabanımızdan özet akışında görünecek başlıkları okuyup sayfa içeriğine ekleyelim:

 

// veritabanına bağlan

$baglanti = mysql_connect("localhost","kullanici","sifre");

           

if ($baglanti)

            {

            // veritabanı bağlantısı yoksa öl

            if (!(mysql_select_db ("veritabaniadi"))) die ("Bağlantı kurulamadı: Veritabanı");

                       

// lokal değişkenleri ayarlayarak başlıkların türkçe okunması ile ilgili sorun çıkmasına engel olalım:

            mysql_query("SET NAMES 'latin5'");

            mysql_query("SET collation_connection = 'latin5_turkish_ci'");

            @setlocale (LC_ALL, 'turkish');

 

$KonuAl = "SELECT Id, Baslik FROM Konu ORDER BY ID DESC LIMIT 20"; 

$Sorgu = mysql_query($KonuAl, $baglanti); 

  

while ($Konu = @mysql_fetch_array($Sorgu)) 

            { 

            $Id = $Konu["Id"]; 

 

// başlıklarımızı RSS çıktısında düzgün görünecek şekilde formatlayalım:

            $Baslik = @eregi_replace('&[A-Za-z]{0,7};', '', strip_tags($Konu["Baslik"])); 

           

// buradaki = ten önceki noktaya dikkat, $xml_ciktisi değişkeninin kanal bilgilerini yukarıda

// tanımlamıştık, şimdi diğer içeriği ekliyoruz, Diğer içerik de item ve /item tagları içindeki tanımlardan

// oluşuyor. Bunları istediğiniz gibi özelleştirebilirsiniz.

 

            $xml_ciktisi .= " <item><title>$Baslik</title>

            <link>http://www.nxyazilim.com/lookme.php?No=$Id</link>

            <description>$Baslik</description>

            </item>"; 

            } 

 

// xml_ciktisi ni sayfaya dönüştürdükten sonra /rss ile RSS bildirimimizi kapatıp işlemi tamamlıyoruz.

echo $xml_ciktisi ."</channel></rss>"; 

 

            }

Umarım işinize yarar.

www.nexyazilim.com/blog

 

 

YORUMLA
İsim - email
Başlık
Yorumunuz
YORUMLAR
Henüz yorum yapılmamış, ilk yapan sen ol!
CEO Müşteri İlişkileri
Ezgi MP3 Player
Haber Portalı
DYB İÇOM
C#
PHP
Network
PDA
Assembly
Hardware
XP & Vista
e - Kitap
Baloncuk
RSS (Canlı Başlıklar)
Ara
ÖTEKİLER
Ahmet Kaymaz
CE Turk
İç Mihrak