Autor Zpráva
Volek8
Profil *
Dobrý den, chtěl bych vás poprosit jestli by jste mi někdo neporadil jak na kód, který získává z cizích stránek odkaz na jejich .ico

Tak že já dodám vždy do kódu url jejich stránky a php skript mi to vloží do <img>
Pan X
Profil
Přesný návod nemám, ale můžeš si přes cURL načíst zdrojový kód stránky a potom pomocí reguláru vytáhnout adresu k všem .ico souborům
Volek8
Profil *
Já jsem uvažoval o použití
foreach
Tori
Profil
Pokud je to na serveru povolené, můžete kromě cURL použít i obyč. file_get_contents($url).
Pan X
Profil
Nevím jak to myslíš, ale při použtí preg_match se výsledek dá pomocí forach zpracovat....

Nějak takto:

preg_match_all('~href="http://([^"]+?)"~', $obsah, $kam);
       	      	
    	foreach($kam[1] as $nazev){
Pan X
Profil
Tori:
Taky možnost :-)
Volek8
Profil *
No ja ted jsem chvily neco skousel ale nefungujemi to nevim jestli tam je chyba nebo jestli to vubec tak fungovat muze ale skusim to prilozit sem
foreach ($xml->channel as $channelo){
$linko = $channelo->link;
}
$linkm=simplexml_load_file($root. \"".$linko."\"");
foreach ($linkm->channel->link as $linkc) { 
$hrefc = $linkc->href;
echo "<img src=\"".$hrefc."\" width=\"".18px."\" height=\"".18px."\" class=\"".paddinga."\">";
}
Volek8
Profil *
Jeste jedna verze rovnez nefunguje ale myslim ze by mohla, muzete mi rict jestli tam nemam treba chybu
$indexo = 1;
  foreach ($xml->channel as $channelo){
  if($indexo > 1){ break; }
  $indexo++;  
  $linko = $channelo->link;
  }
 $linkm=simplexml_load_file("".$linko."\"");
$indexc = 1;
  foreach ($linkm->channel->link as $linkc) { 
  if($indexc > 1){ break; }
  $indexc++;  
  $hrefc = $linkc->href;
  echo "<img src=\"".$hrefc."\" width=\"".18px."\" height=\"".18px."\" class=\"".paddinga."\">";
  }
Str4wberry
Profil
http://www.google.com/s2/favicons?domain=diskuse.jakpsatweb.cz
Volek8
Profil *
tak to Str4wberry je do dobrý, ale problémem zůstává že v rss adresaje ve stylu
http://www.zive.cz/default.aspx

a musi se nejak ocesat od zbytecnosti, aby ji google apceptoval v tom nastroji
ale jak ?
Str4wberry
Profil
Vytáhnout si doménu například funkcí parse_url.
Tori
Profil
Volek8:
adresaje ve stylu
http://www.zive.cz/default.aspx
>
a musi se nejak ocesat od zbytecnosti
parse_url
Volek8
Profil *
Jenom se jeste zeptam jestli tohle je ten zpravny postup
<?php

  $p = parse_url ( 'http://domain.tld/tcp://domain2.tld/dir/file' ) ;

  $d2 = parse_url ( $p['path'] ) ;

  echo $d2 ;  // returns '/dir/file'

?>

Nejsem si tim jisty protoze nemuhu najit navod v cestine
Volek8
Profil *
co tohle, je to mozne?
<img src="http://www.google.com/s2/favicons?domain=<?=parse_url($i->url, PHP_URL_HOST)?>">
Darker
Profil
Volek8:
Jestli funguje, asi je, proč se nejdřív ptáš, místo abys nejdřív zkoušel?
Volek8
Profil *
Darker omlovám se za tak stupidní dotazy, ale já už jsem byl hold z toho truchu na nervy včera

Problém je již vyřešen.
joe
Profil
[#9] Str4wberry
To je celkem nespolehlivé
http://www.google.com/s2/favicons?domain=atlas.cz
Str4wberry
Profil
Spolehlivé to celkem je, když ovšem autor webu ví, kam patří favicona.
joe
Profil
Str4wberry:
favicona může být kdekoli, od toho je ten tag v hlavičce. Pokud by tam nebyl potřeba, pak bys ani nepotřeboval tu nefunkční věc od Google :) protože bys mohl psát:

host/favicon.ico - pro zjištění (a mohly by si to zjišťovat i sami prohlížeče)

Spolehlivé to celkem je, když ovšem autor webu ví, kam patří favicona.
Na webu co jsem vytvořil to také nefunguje a přitom je v rootu.
Str4wberry
Profil
protože bys mohl psát
Jenže tu ikonu v *.ICO ti všechny prohlížeče nezobrazí. Ta služba vrací PNG.

favicona může být kdekoli, od toho je ten tag v hlavičce
Který funguje méně spolehlivě než umístění do rootu webu.

Na webu co jsem vytvořil to také nefunguje a přitom je v rootu.
Protože přesměrovávání.

Ano, řešení to není dokonalé, takové by muselo:
1) Zjistit, kam adresa skutečně vede, tj. nechat se přesměrovat až na cílovou URL,
2) tam zjistit v kódu přítomnost <link rel="shortcut icon"> a ověřit existenci souboru na té adrese,
3) v případě neexistence zmíněného tagu nebo neexistence odkázané ikony ověřit existenci favicon.ico a v případě úspěchu ji použít,
4) tu (případně) nalezenou ikonu zkonvertovat do PNG/GIFu,
5) uložit ji někam na server, protože opakovat tento postup při každém načtení stránky by asi nebylo nejrychlejší,
6) řešit „kešování“ této ikony a vystavovat se risiku, že se někomu nebude líbit její ukládání na náš server.

Takže bych řekl, že využití Google služby je „good enough“.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0