Autor Zpráva
grass
Profil *
Dobrý den.
Občas se mi vyhodí tato chyba nemohl byste mi někdo poradit jak kód předělat aby se chyba nevyskytovala a nebo lepé přidat část která by říkala že když se vyskytne chyba tak se má úkon provést znova.

Warning: Invalid argument supplied for foreach() in /data/web/virtuals/4868/virtual/www/rss_nastroje/rss_agregator.php on line 4
Warning: Invalid argument supplied for foreach() in /data/web/virtuals/4868/virtual/www/rss_nastroje/rss_agregator.php on line 13
Warning: simplexml_load_file() [function.simplexml-load-file]: http://www.novinky.cz/rss/internet-a-pc/:1: parser error : Start tag expected, '<' not found in /data/web/virtuals/4868/virtual/www/index.php on line 13
Warning: simplexml_load_file() [function.simplexml-load-file]: � in /data/web/virtuals/4868/virtual/www/index.php on line 13
Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in /data/web/virtuals/4868/virtual/www/index.php on line 13

Kód agregatoru
<?php
echo "<tr><td class=\"".nazev_okno."\">";
$indext = 1;
foreach ($xml->channel as $channel){
if($indext > 1){ break; }
$indext++;    
$linkt = $channel->link;
$titlet = $channel->title;  
echo "<a href=\"".$linkt."\" target=\""._blank."\">".$titlet."</a>";  
} 
echo "</td></tr><tr><td class=\"".obsah_okno."\">"; 
$index = 1;
foreach ($xml->channel->item as $item){
if (strtotime($item->pubDate) < strtotime("-24 hours"))
        break;
$index++;
$date = $item->pubDate;
$link = $item->link;
$link = $item->guid;
$title = $item->title;
$desc = $item->description;
$date = strtotime($date);
$date = StrFTime("%d. %m. %Y", $date);
$date = str_replace(". 0", ". ", $date);
$num = strlen($date);
if(substr($date, 0, 1) == "0") $date = substr($date, 1, $num);
echo $date." - <a href=\"".$link."\" target=\""._blank."\">".$title."</a>";
echo "<br />".strip_tags ($desc)."<br /><br />";
}
if($index == 1) echo "Nejsou nové zprávy :-(";
echo "</td></tr>";
?> 
Alphard
Profil
Jak dlouho a pod kolika přezdívkami tady tento kód ladíte? :-)

Foreach zřejmě nedostává to, co očekává. Jak načítáte to XML? Ideálně by tam mělo být ukládání do cache, a když se při aktualizaci nepodaří načíst novou verzi, zobrazit starší a příště to zkusit znovu.
soucekgns
Profil
nechybí ti tam
$xml=simplexml_load_file("xxx.xml");
?

z čeho bereš
$xml->channel
?
grass
Profil *
toto je ve souboru rss_agregator.php
a v indexu je více těchto:
<?php
$xml=simplexml_load_file($root. "http://www.novinky.cz/rss/internet-a-pc/");
include "rss_nastroje/rss_agregator.php";
?> 
grass
Profil *
Alphard:
Už dlouho to ladim, občas se mi něco podaří a občas hold skouším všelijaké diskuze ne jen zde, hold těžko ale snažím se tomu vychitat každou maličkost abych mohl prejit do faze kod 2/64
Alphard
Profil
grass:
Postup jsem naznačil.
1. Po expiraci zkuste danou stránku načíst, pokud se to povede, uložte ji do cache.
2. Zobrazte data z cache.

Konkrétní problém by šlo řešit bez cache, ale uvědomte si, že neustálým načítáním přes http nejen zbytečně zatěžujete poskytovatele obsahu, ale i zpomalujete vlastní stránky.
grass
Profil *
do paměti to ukládat nechci v dnešní době kdy každý ajtík či geek má vysokorychlostní internet a stránka se mu načte do 2 sekund tak je to zbytečné a neefektivní rozhodně nehodlám ukládat do cache

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0