Feed externo en mi web

Ando un poco liado, resulta que he creado mi pagina con un programa de creacion de web, el caso que viene un plugin para incorporar feed de rss en la web pero yo lo inserto y cuando la previsualizo en mi localhost se ve a la perfeccion pero al subirlo a mi servidor de pago no aparece absolutamente nada, le he dado permisos 777 a los archivos y nada, no sale absolutamente nada, echame una mano

2 respuestas

Respuesta
1
Puede ser que o bien falte algún componente que debas subir al servidor o puede ser que la versión de PHP del servidor sea distinta y no funcione por eso.
Ejecuta:
<?php
phpinfo();
?>
En ambos y verás las diferencias.
¿Podrías decirme como hago eso por favor?
Simplemente crea un fichero con extensión .php por ejemplo: prueba.php
y dentro exactamente lo que te he escrito en el mensaje anterior debajo de Ejecuta:
Luego la llamas desde el explorador como una página cualquiera y te mostrará mucha información. Lo que te interesa es la versión de PHP.
Respuesta
1
Me puedes mostrar el codigo php
<?php
// Klasse zum Lesen von RSS-Feeds
// (C) 2004 MultiMueller Softwareentwicklung e.K.
// Tom Mueller
// www.multimueller.de
// [email protected]
error_reporting(E_ERROR | E_PARSE);
class RSSFeed {
var $title; // Alle Titel
var $link; // Alle Links
var $description; // Alle Beschreibungen
var $newscount; // Anzahl der Elemente
var $xml; // Plaintext XML Dokument
var $trans_tbl; // HTML-Konvert-Tabelle
var $feedurl=""; // Feed-URL
var $cachefile="cache.txt"; // Lokaler Cache
var $bulletfile; // Bullet-Grafik
var $expire=300; // Refresh-Zeit in Sekunden
var $maxnewscount=-1; // Maximale Anzahl von Einträgen
var $footer=""; // Text unterhalb des Feeds
var $errortext="Error accessing Feed"; // Fehlermeldung
var $showdescription=1; // Description anzeigen
var $sidebarmode=0; // Sidebar-Modus
function RSSFeed() {
// Klassen-Konstruktor
// Die unhtmlentities-Funktion vorbereiten
$this->trans_tbl = get_html_translation_table(HTML_ENTITIES);
$this->trans_tbl = array_flip($this->trans_tbl);
}
function file_is_uptodate() {
// Datei-Zeit checken
if (file_exists($this->cachefile)) {
if (time()-filemtime($this->cachefile)<$this->expire) {
return TRUE;
}
}
return FALSE;
}
function read_file() {
// Cache-File lesen
unset($this->xml);
$handle = fopen($this->cachefile, "r");
if ($handle) {
flock($handle, LOCK_SH);
$this->xml = fread($handle, filesize($this->cachefile));
flock($handle, LOCK_UN);
return TRUE;
} else {
return FALSE;
}
}
function write_file() {
// Cache-File schreiben
$handle = fopen($this->cachefile, "w+");
flock($handle, LOCK_EX);
fwrite($handle, $this->xml);
flock($handle, LOCK_UN);
fclose($handle);
}
function read_url() {
// URL lesen
unset ($this->xml);
$handle = fopen($this->feedurl, 'r');
if ($handle) {
while (!feof($handle)) {
$this->xml .= fread($handle, 128);
}
fclose($handle);
return TRUE;
} else {
return FALSE;
}
}
function find_tag($string, $tag) {
// Tag finden
$tmpval = array();
$preg = "|<$tag.*?>(.*?)</$tag>|s";
preg_match_all($preg, $string, $tags);
foreach ($tags[1] as $tmpcont){
$tmpval[] = $tmpcont;
}
return $tmpval;
}
function unhtmlentities($string) {
// entfernt HTML-Entitites
return strtr($string, $this->trans_tbl);
}
function remove_cdata($text,$removeentities) {
// Die CDATA-Tags entfernen
$text=str_replace("<![CDATA[","",$text);
$text=str_replace("]]>","",$text);
if ($removeentities) {
$text=$this->unhtmlentities($text);
}
return $text;
}
function parse_feed() {
// Den Feed interpretieren
// Alles auf Null
$this->newscount=0;
unset($this->title);
unset($this->link);
unset($this->description);
// Ist es ein UTF-8-Feed?
$utf=preg_match('|<\?xml.*?encoding\s*?=\s*?"\s*?UTF-8\s*?".*?>|i',$this->xml);
// Alle Items finden
$items = $this->find_tag($this->xml, 'item');
// Die Items durchlaufen
foreach ($items as $item) {
$this->newscount++;
// Titel, Link und Beschreibung extrahieren
$title=$this->find_tag($item, 'title');
$link=$this->find_tag($item, 'link');
$description=$this->find_tag($item, 'description');
// In Array schreiben und ggf. UFT-8 transformieren
if ($utf) {
$this->title[$this->newscount] = $this->remove_cdata(utf8_decode($title[0]),true);
} else {
$this->title[$this->newscount] = $this->remove_cdata($title[0],true);
}
if ($utf) {
$this->description[$this->newscount] = $this->remove_cdata(utf8_decode($description[0]),true);
} else {
$this->description[$this->newscount] = $this->remove_cdata($description[0],true);
}
$this->link[$this->newscount] = $this->remove_cdata($link[0],false);
// Hat da einer den Titel vergessen?
if ($this->title[$this->newscount]=="") {
$this->title[$this->newscount]=$this->link[$this->newscount];
}
}
}
function print_html() {
// Als HTML ausgeben
if ($this->sidebarmode) {
for ($i=1;(($i<=$this->newscount) && (($i<=$this->maxnewscount) || ($this->maxnewscount<=0)));$i++) {
echo('
<p>');
echo('<a target="_blank" href="'.$this->link[$i].'">'.$this->title[$i].'</a>');
echo('</p>
');
if ($this->description[$i] && $this->showdescription) {
echo ('
<p>'.$this->description[$i].'<br></p>
');
}
}
if ($this->footer) {
echo('
<p align="right">'.$this->footer.'</p>
');
}
} else {
echo('
<table width="100%" border="0" cellpadding="0" cellspacing="0">
');
for ($i=1;(($i<=$this->newscount) && (($i<=$this->maxnewscount) || ($this->maxnewscount<=0)));$i++) {
echo('
<tr>
');
echo('
<td><img src="'.$this->bulletfile.'" border=0 alt=""></td>
');
echo('
<td width=100%>');
echo('<a class="s2d" target="_blank" href="'.$this->link[$i].'">'.$this->title[$i].'</a>');
echo('</td>
</tr>
');
if ($this->description[$i] && $this->showdescription) {
echo ('
<tr>
<td></td>
<td>');
echo ('
<p>'.$this->description[$i].'<br></p>
');
echo ('</td>
</tr>
');
}
}
if ($this->footer) {
echo('
<tr>
<td></td>
<td>
<p align="right">'.$this->footer.'</p>
</td>
</tr>
');
}
echo('
</table>
');
}
}
function process_feed() {
// All in one: Den Feed lesen, cachen, ausgeben
$valid=FALSE;
if ($this->file_is_uptodate()) {
// Cache war nach aktuell
$valid=($this->read_file());
} else {
// Nicht mehr aktuell
if ($this->read_url()) {
// URL lesen und schreiben
$this->write_file();
$valid=TRUE;
}
}
if ($valid) {
// Wenn alles o.k. ausgeben
$this->parse_feed();
$this->print_html();
} else {
echo ("
<p>".$this->errortext."</p>
");
}
}
}
?>
Lo que me mandaste es el código de la clase, si no la instancias pues no ves nada.
Le agregué las lineas al final:
$rss=new rssfeed();
$rss->process_feed();
le configuré una url en la clase, por ej:
var $feedurl="http://www.telesurtv.net/noticias/RSS/portada.php"; // Feed-URL
y funcionó bien.
pero tengo otro mas en index es este:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Al final de la palmera</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="expires" content="0" />
<meta name="author" content="laculpaesnuestra" />
<meta name="description" content="laculpaesnuestra">
<meta name="keywords" lang="es" content="videos, fotos, foro, goles, noticias, series, actual, trucos, juegos, favoritos, utilidades, tutoriales,">
<meta name="generator" content="Web2Date BASIC" />
<link rel="stylesheet" type="text/css" href="../../assets/sf.css" />
<link rel="stylesheet" type="text/css" href="../../assets/sd.css" />
<link rel="stylesheet" type="text/css" href="../../assets/sc.css" />
<script type="text/javascript" src="../../assets/m.js"></script>
</head>
<body>
<div id="logo">laculpaesnuestra</div>
<div id="eyecatcher"><img src="../../images/s2dlogo.gif" width="200" height="500" alt="" border="0"></div>
<form class="search" action="../../fts.php" method="get">
<input class="search" type="text" name="criteria" maxlength="30" />
<input type="image" src="../../images/psearch.gif" />
</form>
<div id="common">
<br />
<a href="../../sugerencias.php">Sugerencias</a>
<br />
</div>
<div id="menuBar"><a class="menuButton" href="../../index.php" onmouseover="menuTouch(event, '');">Inicio</a><a class="menuButton" href="../../fotos/index.php" onmouseover="menuTouch(event, '');">Fotos</a><a class="menuButton" href="../../videos/index.php" onmouseover="menuTouch(event, '');">Videos</a><a class="menuButton" href="../../favoritos/index.php" onmouseover="menuTouch(event, '');">Favoritos</a><a class="menuButton" href="../../futbol/index.php" onmouseover="menuTouch(event, '');">Fútbol</a><a class="menuButton" href="../../foro/index.php" onmouseover="menuTouch(event, '');">Foro</a><a class="menuButton" href="../../chat/index.php" onmouseover="menuTouch(event, '');">Chat</a><a class="menuButton" href="../../musica/index.php" onmouseover="menuTouch(event, '');">Música</a><a class="menuButton" href="../../series/index.html" onmouseover="menuTouch(event, '');">Series</a></div>
<div id="content">
<div id="more">
</div>
<h1>Al final de la palmera</h1>
<?php
require_once("w2dpluginrssreader.php");
$rss = new RSSFeed;
$rss->feedurl="http://www.alfinaldelapalmera.com/component/option,com_rss/feed,RSS2.0/no_html,1/";
$rss->cachefile="0000009bd60beba1c.txt";
$rss->bulletfile="bu0000009bd60beba1c.gif";
$rss->expires=1800;
$rss->maxnewscount=5;
$rss->footer="";
$rss->errortext="Actualmente no existen noticias.";
$rss->showdescription=1;
$rss->sidebarmode=0;
$rss->process_feed();
?>
<br />
<br />
</div>
<div id="sidebar">
<h2>Real Betis</h2>
<a href="../../futbol/realbetis/index.html"><img src="../../images/betis200x150_sbp.gif" width="150" height="112" alt="" border="0"></a>
<br/>
<h2>Goles Real Betis</h2>
<a href="../../golesrealbetis/index.html"><img src="../../images/golesbetis200x150_sbp.gif" width="150" height="112" alt="" border="0"></a>
<br/>
<h2>Deportivo 1 - Betis 1</h2>
<a href="../../golesrealbetis/deportivo1betis1/index.php"><img src="../../images/deportivo1betis1200x150_sbp.gif" width="150" height="112" alt="" border="0"></a>
<br/>
</div>
</body>
</html>
te srive este ultimo codigo? esta bien?
un saludo de nuevo.
¿En el ultimo codigo que sucede? ¿Qué no te funciona?
pues bueno el ultimo codigo es el index que genera mi programa de creacion de paginas web,esa pagina junto con el otro codigo es donde esta el rss feed, entonces la pagina alberga esos dos archivos que al subirlos al servidor no fundiona el feed, espero me ntiendas estoy desesperado y una cosa ahora entiendo pr que eres el mas votado eres superservicial y competente, gracias una vez mas.
Ok mira, ten en cuenta que en el ultimo script se usa un require:
require_once("w2dpluginrssreader.php");
Este archivo que se llama es la clase, es decir el primer archivo que me enviaste. Te cuento que hice la prueba con tu codigo y funciona sin problemas. Verifica también que los dos archivos estén en el mismo directorio cuando los subas.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas