Criar um Feed RSS

Novo aqui no site? Talvez gostaria de assinar o
RSS feed do site?

Publicado em: 05/09/2007
Área: XML
Visualizações: 3.266
Comentário(s): 1

imprimir envie por e-mail compartilhe
Olá pessoal.
Hoje vou mostar como fazer para criar um feed RSS, hoje muito utilizado pela maioria dos sites. E é uma das novidades que venho com a famosa Web2.0.

Para quem não sabe, RSS é um subconjunto de "dialectos" XML que servem para agregar conteúdo ou "Web syndication" podendo ser acedido mediante programas/sites agregadores. É usado principalmente em sites de notícias e blogs.

A abreviatura do RSS é usada para se referir aos seguintes padrões:

- Rich Site Summary (RSS 0.91)
- RDF Site Summary (RSS 0.9 e 1.0)
- Really Simple Syndication (RSS 2.0)

A tecnologia do RSS permite aos usuários da internet se inscrever em sites que fornecem "feeds" (fontes) RSS. Estes são tipicamente sites que mudam ou atualizam o seu conteúdo regularmente. Para isso, são utilizados Feeds RSS que recebem estas atualizações, desta maneira o usuário pode permanecer informado de diversas atualizações em diversos sites sem precisar visitá-los um a um.

Os feeds RSS oferecem conteúdo Web ou resumos de conteúdo juntamente com os links para as versões completas deste conteúdo e outros metadados. Esta informação é entregue como um arquivo XML chamado "RSS feed", "webfeed", "Atom" ou ainda canal RSS.
Geralmente expecificados pelas imagens:


Um exemplo de como deverá seguir nosso RSS:
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title>Oficina da Net</title>
<description>Portal WebMaster</description>
<link>http://www.oficinadanet.com.br</link>
<language>pt-br</language>
<item>
<title>Título da Coluna</title>
<description>Descrição da coluna</description>
<lastBuildDate>Aqui entra a data</lastBuildDate>
<link>http://www.oficinadanet.com.br/index.php?acao=colunas_show&id=1>/link>
</item>
</channel>
</rss>


As Tags acima, são Tags padrão que devem ser mantidas. Somente o que irá variar dentro das tags acima é a TAG <item></item>. Iremos criar a tag item na quantidade de colunas ou registros que buscaremos no banco de dados.

Abaixo o código php que faz a mágica:
<?
//FEED RSS

$rss = '<?xml version="1.0" encoding="iso-8859-1"?>';
$rss .= '<rss version="2.0">';
$rss .= '<channel>';
$rss .= '<title>Oficina da Net - Colunas</title>';
$rss .= '<description>http://www.oficinadanet.com.br</description>';
$rss .= '<link>http://www.oficinadanet.com.br</link>';
$rss .= '<language>pt-br</language>';

// Conexão ao banco
$connect = mysql_connect('localhost','username','password');

// Selecionamos nossa base de dados
mysql_select_db('base',$connect);
$rs_rss = mysql_query("SELECT id, titulo,descricao,data FROM tabela_colunas ORDER BY data DESC LIMIT 20", $connect);


// Iniciamos nossa variável $conteudo vazia.
$conteudo = "";

while($criando=mysql_fetch_object($rs_rss))
{
   $conteudo .= '<item>';
   $conteudo .= "<title>$criando->titulo</title>";
   $conteudo .= "<description>$criando->descricao</description>";
   $conteudo .= "<lastBuildDate>$criando->data</lastBuildDate>";
   $conteudo .= "<link>http://www.oficinadanet.com.br/index.php?acao=colunas_show&id=".$criando->id."</link>";
   $conteudo .= '</item>';
}

// Aqui a var xml recebe todo conteudo da var rss e mais da var conteudo
$xml = $rss.$conteudo;

// Fechamos nossas TAG
$xml .= '</channel></rss>';

// Depois de criarmos nosso rss, vamos gravar ele em disco para podermos utilizar.

// Abre o arquivo para leitura e escrita; coloca o ponteiro do arquivo no começo
// e diminui (trunca) o tamanho do arquivo para zero. Se o arquivo não existe,
// tenta criá-lo (w+).
$arquivo = fopen('pasta/artigos.xml','w+');

// gravamos os dados no arquivo.xml
fwrite($arquivo,$xml);

// fechamos nosso arquivo
fclose($arquivo);
?>


Este código faz a busca no banco, retorna os últimos 20 registros e salva no arquivo .xml

O resultado:


Preencha o formulário para comentar:
Nome:*

E-mail:* (não será exibido)

Site: (http://)

Comentário:*

Deseja receber os comentários no e-mail?

Anti-spam: (nova imagem)





Anderson Villela

   - Publicado em: 05/09/2007 - 12:59

Gostei da matéria heim Nicolas, tinha em esquecido como fazia isso, valew!

 

Autor da matéria
Redação Oficina da Net
A Redação do Oficina da Net é composta por todos os integrantes da equipe do portal. Estamos abertos a indicações de matérias, entre em contato conosco solicita.

Todas as matérias de Redação Oficina da Net

Publicidade
Seguir o Oficina da Net
RSS

RSS

RSS
Top matérias do mês
Matérias relacionadas
Tags

© 2005 - 2009 - Oficina da Net - v 4.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.