PHP获取⽹站图标(favicon.ico)⽂件
  有的⽹站源码中加⼊了这⼏⾏代码:
1<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
  或者是
1<link rel=" icon" href="/favicon.ico" type="image/x-icon"/>
  这样可以指定图标位置存放。
  但现在的浏览器⼤多⽀持⾃动获取⽹站根⽬录下的.ico⽂件,所以源码中看不到那⼏⾏代码。php文件下载源码
  可⾏的⽅法:
1//得到每⼀个url,获取其中的icon
2$url = $matches[1][$i];
3$contents = @file_get_contents($url);
4preg_match('/<link rel=".*?icon".*?href="(.*?)".*?>/', $contents,$icon);
5if(!empty($icon)){
6// print_r($icon[1]);
7echo "<br/>";
8$array = @get_headers($icon[1],1);
9if(preg_match('/200/',$array[0])){
10// echo "<pre/>";
11print_r($icon[1]);
12echo "<img src='".$icon[1]."' style='width:16px;height:16px;'>";
13// echo "string";
14                    // print_r($array);
15                }else{
16//去掉多余的斜杠
17$url = substr_replace($url,"",-1);
18echo "⽆效url资源!".$url.$icon[1];
19echo "<img src='".$url.$icon[1]."' style='width:16px;height:16px;'>";
20                }
21
22            }else{
23//这⾥笔者试了很多种⽅法,后来发现通过url可以⼊⼿,从url截取⽹址的根⽬录,由于习惯性的把⽂件名名为favicon.ico,所以可以直接访问类似这样的url得到图标⽂件,wenwen.sogou/favicon.ico 24$url=substr($url,7);//去除前⾯
25$position = strpos($url, '/');
26$url=substr($url,0,$position);
27echo "<img src='".$url."/favicon.ico' style='width:16px;height:16px;'><br/>";
28// echo $url."/favicon.ico<br/>";
29                //判断⽹站的根⽬录是否存在.icon⽂件
30                // $url=''.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
31                // echo dirname($url);
32                // if(file_exists("favicon.ico"))
33                //    echo "<p>存在</p>";
34            }
  思路:
    先判断源码中是否有那⼏⾏添加iocn的代码,如果有就直接抓取代码,再判断是否为有效的url,然后再判断显⽰,没有则获取根⽬录后显⽰。