Script php: Ricavare la favicon di un sito a partire da un url

   difficoltà:  script script script script script

Script simili
28/5/2008


Questa funzione ci darà la possibilità di ricavare e quindi visualizzare a partire da un url la favicon di un sito web. Questo ci potrà essere utile in diversi casi, ad esempio quando inseriamo un elenco di link potremo visualizzare di fianco ad ogni link la favicon del sito. Oppure quando un utente inserirà un commento al nostro blog e inserirà il link del suo blog sarà visualizzata la favicon a fianco del nome.

Vediamo i passaggi da seguire. Alla nostra funzione passeremo l'url interessata. Da questa dovremo estrarre il dominio del sito. Ad esempio data come url :

http://www.sito.it/pagina.htm

dobbiamo controllare per prima cosa se c'è http://. In questo caso lo togliamo. A questo punto se c'è un ulteriore slash (/) prendiamo la stringa fino a questa slash. Otterremo quindi www.sito.it/ a cui possiamo riaggiungere l'http://. Nel caso non ci sia un ulteriore slash avremo già il dominio del sito.

Sapendo che per default le favicon si trovano nella root del sito e hanno nome favicon.ico basterà controllare se esiste il file remoto http://www.sito.it/favicon.ico. Nel caso esista potremo visualizzare la favicon semplicemente inserendola nel tag img, infatti la maggior parte dei browser la riconoscono perfettamente. Nel caso il file favicon.ico non esista visualizzerò un'immagine di default.

function favicon($url){
if(substr_count($url,"http://")>0 && substr_count($url,"/")>=3){
$url=str_replace("http://","",$url);
$url="http://".substr($url,0 , strpos($url,"/"));
}elseif(substr_count($url,"http://")==0 && substr_count($url,"/")>=1){
$url="http://".substr($url,0 , strpos($url,"/"));
}elseif(substr_count($url,"?")>=1){
$url="http://".substr($url,0 , strpos($url,"?"));
}
$url=$url."/favicon.ico";
if(@file_get_contents($url)){
return $url;
}else{
return "/images/default.jpg";
}
}

Ecco un esempio di utilizzo:
<?
$url="http://www.sito.pagina.htm";
?>
<img src="<?=favicon($url)?>"> Nome Link


Social:


Donazione:
Se questo script ti è stato utile e ti ho fatto risparmiare tempo e denaro fai una
qualsiasi cifra è ben accetta! 1€, 3€, 5€ ,10€, 50€ ;-) fai te!

Permalink: Tag:
script   php   favicon   immagini   file   remoto  
Script Simili: Permalink: Link utili:
Tools:
Feed RSS    



Commenti


  chad

24/9/2008 9:29:39

questo non estrae proprio nulla!
fa una lontanissima supposizione generalizzando che tutti i siti abbiano la favicon con estenzione .ico nella root, cosa assolutamente non vera.

I miei 54 siti web hanno tutti la fav .gif, e già non andrebbero.

estrarre non è supporre.

  Air

29/10/2009 14:17:21

E' vero! anche secondo me non funziona niente. Inoltre se non vado errando, un'icona con estensione .ico non è visualizzabile nei briwser.
Infine hai ragione chad, le favicon al massimo dovrebbero essere inserite in directory /favicon/ oppure /icon/ nella root.
Mania di postare solo per ricevere visite? nooooooooooooo mika!

  Fabio

29/10/2009 14:27:14

- spesso la favicon è in tale posizione. Nella root e con nome favicon.ico. Infatti inserendola in tale posizione non devi inserire il tag <link rel="shortcut icon" href="/favicon.ico" />. Non è detto ke la trovi li.. in tal caso non verrà visualizzata.

- hai provato a visualizzare il file ico col browser?

- se avete altre idee postare grazie.

  Fabio

29/10/2009 14:31:19

Dimenticavo Favicon su Wikipedia:

In origine la favicon era semplicemente posta nella directory radice del webserver con il nome favicon.ico e usata direttamente da Internet Explorer. Anche se questo metodo rimane funzionante, è stato introdotto un apposito tag HTML per specificare la posizione del file.



Lascia un commento


Codice di controllo*:
Nome*:
Email/Link:
Testo*:
 
I campi contrassegnati con * sono obbligatori.