Tema: FAQ's de PHP
Ver Mensaje Individual
  #198 (permalink)  
Antiguo 25/08/2008, 05:24
eContento
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 22 años, 4 meses
Puntos: 25
Respuesta: FAQ's de PHP

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);
?>
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles

Última edición por jam1138; 25/08/2008 a las 14:13