lo primero que tenemos que hacer es crear un archivo cada vez que una noticia exista de este modo siempre el feed estara actualizado y las tablas necesarias para ello.
Tabla usuarios:
idusuario integer
usuario varchar(45)
password varchar(45)
email varchar(200)
Tabla temas:
idtema integer
idusuario integer
fecha varchar(45)
titulo varchar(100)
tema longtext
rss.php
<?php
@unlink("rss.xml");
$g=fopen("rss.xml","r+");
$str='<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>tu title</title>
<link>http://www.pagina.net/</link>
<description>Descripcion de tu sitio web </description>
<language>(idioma)es-do</language>
<webMaster>Xnoreply@xphp.site88.net (usuario)</webMaster>
<copyright>tu title</copyright>
';
fwrite($g, $str);
Escribimos con fwrite en el documento la primera parte la cual solo una vez sera escrita para saber mas de fwrite click aqui.
unlink() esta funcion de php sirve para eliminar un archivo desde php solamente incluyendole la direccion del archivo que queremos eliminar ahora la @ que contiene es para evitar una advertencia en caso de que el archivo fuese borrado
fopen nos permite abrir un documento mas informacion en Fopen.
la variable $str en este caso captura un codigo xml el cual es usado para crear rss o feed y solo captura la primiera parte del codigo
//Aqui seleccionamos las tablas necesarias para manejar los datos en este caso las tablas son usuarios y temas
$sql_tema="select * from temas t, usuarios u where t.idusuario=u.idusuario order by t.idtema desc";
$r=mysql_query($sql_tema);
if (mysql_num_rows($r)!=0){
while ($fila=mysql_fetch_assoc($r)){
$desc = $fila['tema'];
//esta parte solo existira si contenemos caracteres especiales traducidos con la funcion html_entities
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
$desc =strtr($desc, $trans_tbl);
//$desc=html_entity_decode($desc);
$titulo=$fila["titulo"];
//dependiendo de la estructura de tu web usaremos esto :P
$url=base64_encode($fila["titulo"]);
$base='http://www.pagina.net/';
$link="http://www.pagina.net/temas/".$url."/".$fila["idtema"].".html";
$fecha=$fila["fecha"];
$autor=$fila["nick"];
$email=$fila["email"];
$str1='
<item>
<title>'.$titulo.'</title>
<link>'.$link.'</link>
<guid>'.$link.'</guid>
<author> '.$correo.'('.$autor.') </author>
<comments>'.$link.'</comments>
<category>'.$categoria.'</category>
<description><![CDATA['.nl2br($text).']]></description>
<pubDate>'.$fecha.'</pubDate>
</item>
';
fwrite($g, $str1);
}
Volvemos a escribir en este caso todos los temas de nuestra pagina.
bueno aqui todo es una consulta para la creacion de la parte central del rss los temas
$str2='
<atom:link href=http://www.xphp.site88.net/rss.xml rel="self" type="application/rss+xml" />
</channel>
</rss>';
}
fwrite($g, $str2);
fclose($g);
?>
Volvemos a escribir en el archivo y luego lo seramos porque no escribiremos mas.
el resultado de esto es Ejemplo
0 comentarios:
Publicar un comentario en la entrada