Tema: Generar un fichero rss.xml
Pregunta: ¿Cómo puedo generar un feed o RSS de mi web?
Respuesta: Suponemos que la web tiene artículos y estos están en una base de datos. El código para generar ese RSS y que otras webs os puedan sindicar es:
Código PHP:
<?php
include("./conexionBBDD.php");
$link=Conectarse();
$archivo = fopen("/rss.xml", "w");
if ($archivo) {
fputs ($archivo, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n");
fputs ($archivo, "<rss version=\"2.0\">\n");
fputs ($archivo, "\n");
fputs ($archivo, "<channel>\n");
fputs ($archivo, " <title>e-Contento</title>\n");
fputs ($archivo, " <link>http://e-contento.com</link>\n");
fputs ($archivo, " <language>es-ES</language> \n");
fputs ($archivo, " <description>Web que...</description>\n");
$result=mysql_query("SELECT titulo, entradilla, id, DATE_FORMAT(fecha,'%a, %d %b %Y') AS fecha FROM articulo ORDER BY fecha DESC LIMIT 0,25",$link);
if ($result){
while($row = mysql_fetch_array($result)) {
$stTitulo = $row[titulo];
$stTitulo = html_entity_decode($stTitulo);
$stDescription = $row[entradilla];
$stDescription = str_replace ("src=\"/img/", "src=\"http://e-contento.com/img/", $stDescription );
$stDescription = str_replace ("src=\"img/", "src=\"http://e-contento.com/img/", $stDescription );
fputs ($archivo, " <item>\n");
fputs ($archivo, " <title><![CDATA[".$stTitulo."]]></title>\n");
fputs ($archivo, " <pubDate>".$row[fecha]."</pubDate>\n");
fputs ($archivo, " <link>http://e-contento.com/c_articulo.php?id=".$row["id"]."</link>\n");
fputs ($archivo, " <description><![CDATA[".$stDescription."]]></description>\n");
fputs ($archivo, " </item>\n");
}
}
fputs ($archivo, "</channel>\n");
fputs ($archivo, "</rss>\n");
}
fclose ($archivo);
?>