OOIII/

获取网站favicon.ico的几种方式

通常我们在打开某个网站时,会在标签前看到一个小图标,这个就是favicon.ico,俗称站标。有的时候我们在做友情链接或者网址导航时会用到这些站标,下面说下几种获取站标的方法。

  1. 最直接的方法,如果网站根目录存在favicon.ico的话,可以用以下代码直接获取
    http://www.example.com/favicon.ico

这也限制了站标必须在根目录下,不过一般站标貌似都在根目录下吧

  1. 利用google 的favicon图标缓存服务,代码如下
    http://www.google.com/s2/favicons?domain=example.com

建议大家将favicon.ico放在根目录下,这样才会被谷歌缓存,自定义的目录不会被缓存的。

  1. 使用第三方favicon缓存服务商:getFavicon,代码如下
    http://g.etfv.co/http://www.example.com

此外g.etfv.co的接口是开源的,你也可以自定义一些参数

  1. 利用本站的接口(转自521php)
  2. 示例:http://x.ooiii.com/api/fav/?url=www.baidu.com

接口源码

|',$w,$a); if($a[1]){ $f = @file_get_contents($a[1]); if($f){ echo $f; }else{ $u = 'http://'.$url.'/'.$a[1]; $f2 = @file_get_contents($u); if($f2){ echo $f2; }else{ echo @file_get_contents('http://x.ooiii.com/api/fav/url.jpg'); } } }else{ echo @file_get_contents('http://x.ooiii.com/api/fav/url.jpg'); } } }else{ echo '示例:http://x.ooiii.com/api/fav/?url=www.baidu.com'; } ?>

原理:
通过file_get_contnets函数,读取指定的域名下的favicon.ico这个图片,如果能够读取到,就声明header为图片类型进行输出,而如果读取不到,输出默认图片。有的网站站标并不一定在根目录,少部分是用了一个类似这样的标签来获取这个图片的,所以加以判断,如果根目录下没有这个图片的,要在其页面中判断是否有这个标签,有就获取这个标签里的图片。
12. 使用方法也很简单,img标签即可,注意分号是半角

  1. Cheers!