Autor | Zpráva | ||
---|---|---|---|
grass Profil * |
#1 · Zasláno: 20. 3. 2011, 22:40:47
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 |
#2 · Zasláno: 20. 3. 2011, 22:52:24
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 |
#3 · Zasláno: 20. 3. 2011, 22:54:22
nechybí ti tam
$xml=simplexml_load_file("xxx.xml"); z čeho bereš $xml->channel |
||
grass Profil * |
#4 · Zasláno: 20. 3. 2011, 23:19:37
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 * |
#5 · Zasláno: 20. 3. 2011, 23:31:58
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 |
#6 · Zasláno: 21. 3. 2011, 00:24:16
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 * |
#7 · Zasláno: 21. 3. 2011, 09:58:05
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
|
||
Časová prodleva: 14 let
|
0