78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

PHP获取网站图标文件favicon.ico

PHP获取网站图标(favicon.ico)文件

有的网站源码中加入了这几行代码:

 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />

  或者是

 <link rel=" icon" href="/favicon.ico" type="image/x-icon" />

  这样可以指定图标位置存放。

  但现在的浏览器大多支持自动获取网站根目录下的.ico文件,所以源码中看不到那几行代码。

  可行的方法:

             //得到每一个url,获取其中的icon
             $url = $matches[1][$i];
             $contents = @file_get_contents($url);
             preg_match('/<link rel=".*?icon".*?href="(.*?)".*?>/', $contents,$icon);
             if(!empty($icon)){
                 // print_r($icon[1]);
                 echo "<br/>";
                 $array = @get_headers($icon[1],1);
                 if(preg_match('/200/',$array[0])){
                     // echo "<pre/>";
                     print_r($icon[1]);
                     echo "<img src='".$icon[1]."' style='width:16px;height:16px;'>";
                     // echo "string";
                     // print_r($array);
                 }else{
                     //去掉多余的斜杠
                     $url = substr_replace($url,"",-1);
                     echo "无效url资源!".$url.$icon[1];
                     echo "<img src='".$url.$icon[1]."' style='width:16px;height:16px;'>";
                 }
             }else{
                 //这里笔者试了很多种方法,后来发现通过url可以入手,从url截取网址的根目录,由于习惯性的把文件名名为favicon.ico,所以可以直接访问类似这样的url得到图标文件,http://wenwen.sogou.com/favicon.ico
                 $url=substr($url,7);//去除前面
                 $position = strpos($url, '/');
                 $url=substr($url,0,$position);
                 echo "<img src='http://".$url."/favicon.ico' style='width:16px;height:16px;'><br/>";
                 // echo $url."/favicon.ico<br/>";
                 //判断网站的根目录是否存在.icon文件
                 // $url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
                 // echo dirname($url);
                 // if(file_exists("favicon.ico"))
                 //     echo "<p>存在</p>";
             }

  思路:

    先判断源码中是否有那几行添加iocn的代码,如果有就直接抓取代码,再判断是否为有效的url,然后再判断显示,没有则获取根目录后显示。

本文链接:http://78moban.cn/post/14576.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部