| 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: 15 let
|
|||
0