JV这里介绍几种方法:
1、若该站根目录存放有favicon.ico图标的话可以用以下路径直接获取
http://www.example.com/favicon.ico


2、利用google的favicon接口,地址如下
http://www.google.com/s2/favicons?domain=example.com


3、当然Google被墙了,我们可以用国内的,dnspod,如下
http://statics.dnspod.cn/proxy_favicon/_/favicon?domain=http://example.com/


4、使用本站接口,代码如下(原作者:521php

http://www.inlojv.com/getfav/index.php

<?php
$url = @$_GET['url'];
if($url){
$url = preg_replace('/http\:\/\//i','',$url);
$url = 'http://'.$url;
$domain = parse_url($url);
$url = $domain['host'];
$dir = 'images';
$fav = $dir."/".$url.".ico";
header('Content-type: image/png');
$file = @file_get_contents($fav);
if($file){
echo $file;
exit;
}
$file = @file_get_contents("http://$url/favicon.ico");
if($file){
$f2 = $file;
echo $f2;
}else{
$w = @file_get_contents("http://$url/",0,null,0,2000);
//@preg_match('|<link rel=\"shortcut icon\" href=\"(.*?)\".*>|ius',$w,$a);
@preg_match('|href=\"(.*?)\.ico\"|i',$w,$a);
if($a[1]){
$a[1] .='.ico';
$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{
$f2 = @file_get_contents('http://i3.tietuku.com/dbe3ac8af4da1c84.jpg');
echo $f2;
}
}
}else{
$f2 = @file_get_contents('http://i3.tietuku.com/dbe3ac8af4da1c84.jpg');
echo $f2;
}
}
if($f2)
@file_put_contents($fav,$f2);
}else{
header("Content-Type:text/html;charset=utf-8");
echo '';
?>
<br />
<div style="padding:10px;font-family:Microsoft YaHei,arial">
<span style="padding:10px;background:#3d4450;color:#fff">V2.0 使用说明</span><br/><br/>
<div style="padding:10px;background:#eee">示例:http://www.inlojv.com/getfav/?url=www.inlojv.com</div><br/>
<div style="padding:10px;background:#eee">
此次升级:此接口可以直接放到img的src之后使用,示例:<pre style="color:#428bca">&ltimg src="//www.inlojv.com/getfav/?url=www.inlojv.com"&gt </pre>
</div>
<br/>
<div style="padding:10px;background:#eee">
本接口会对查询过的域名做缓存,缓存每周日删除一次.
</div>
</div>
<?php
}
?>

示例:http://www.inlojv.com/getfav/?url=www.baidu.com

原理其实很简单,我们通过file_get_contnets函数,读取指定的域名下的favicon.ico这个图片,如果能够读取到,就声明header为图片类型进行输出,这里大家可以查一下header声明的用法,这就是为什么图片能显示为图片,下载能够下载的原理。而如果读取不到,我们给他个默认图片即可!这里要注意的就是,有的网站的这个图片并不一定在根目录,少部分是用了一个类似这样的标签来获取这个图片的,所以我们就要加以判断,如果根目录下没有这个图片的,要在其页面中判断是否有这个标签,有就获取这个标签里的图片。

也可以直接将该示例链接作为图片链接使用img标签来引用,Cheers!