PHP获取网站favicon.ico图标 - 起点终站

我们应该感谢相遇,无论结局是喜是悲....
PHP获取网站favicon.ico图标
  • 首页 > IT技术
  • 作者:起点终站
  • 2016年7月6日 20:13 星期三
  • 浏览:44898
  • 字号:
  • 评论:4

  • 网站 favicon.ico 不用说太多了吧,网站 favicon.ico 的图标也是近几年刚刚流行出来,就是在浏览器的最左侧显示一个网站的 LOGO 小图标,这个图标是放在根目录下的,一般都是以 favicon.ico 命名的,相比以前哪种浏览器左侧空白的感觉,这种体验给人很棒,不仅仅应用在浏览器上面,我们还可以在做友情链接的时候调用 favicon.ico 这个文件,显示在友情链接的旁边,体验会更棒,下面起点就来说一下如何在网站的应用中获取这个 favicon.ico 的图标吧。


    伟大的谷歌已经提供了相应的获取 favicon.ico 图标的接口,接口如下:

    http://www.google.com/s2/favicons?domain=xiariboke.com

    我们把网址更改一下,只要有 favicon.ico 图标的网站都会显示出来,利用这个接口,我们可以使用 php 把网站的 Favicon.ico 给显示出来,实例代码如下:

    <?php  
    if(isset($_GET['url'])){  
        $icon = file_get_contents("http://www.google.com/s2/favicons?domain=" . $_GET['url']);  
        if($icon){  
            header('Content-type:image/png');  
            echo $icon;  
        }  
    }  
    ?>  


    $url这个是接受过来的网址,最后以图片的形式给输出出来,简单吧,只有怎么几行代码。

    提示:这里唯一的缺点就是谷歌被墙,如果想要使用这种方法的话,只能保证自己的服务器还能访问谷歌的情况下才能使用,不过获取 Favicon.ico 图标不仅只有谷歌这个接口,我们还可以自己去写代码来实现,本博只给大家提供一个思路吧,Favicon.ico 往往保存在网站的根目录下,比如本站 https://blog.hellozwh.com/favicon.ico,所以我们只要 php 函数 file_get_contents() 来获取网页内容,把 favicon.ico 摘取出来,设置 header 为 png 输出方式,输出出来就可以了。


    除了google外最近又发现了一个挺好用的API,所以现在也一直在用了,试试吧

    //获取友链favicon站标,php代码
    function favicon_file($url){
    
        $site_md5 = md5($url);
        $fav_url = TEMPLATE_URL.'favicon/';
        $fav_path = TEMPLATE_PATH.'favicon/';
        $t = 2592000; //30天,单位:秒
        if(!is_file($fav_path.$site_md5.'.png') || (time() - filemtime($fav_path.$site_md5.'.png')) > $t) {
        	$new_icon = "http://api.byi.pw/favicon/?url=".$url; 
            copy($new_icon,$fav_path.$site_md5.'.png');
    	}
    
    	$endurl = $fav_url.$site_md5.'.png?v=1';
    
        return $endurl;
    }

    html调用代码

    <img src="<?php echo favicon_file($url) ?>">   


      您阅读这篇文章共花了:  
     本文无需标签!
    本文作者:起点终站      文章标题: PHP获取网站favicon.ico图标
    本文地址:https://blog.hellozwh.com/?post=64
    版权声明:若无注明,本文皆为“起点终站”原创,转载请保留文章出处。
    • blogger
    Coding2016-08-08 10:44
    这个可以,前面一直在找,没找到
    起点终站 没错,我就是那个帅逼站长2016-08-08 10:58
    有用就好
    Coding2016-08-08 11:07
    这个代码,本地测试不了吗
    起点终站 没错,我就是那个帅逼站长2016-08-08 14:07
    可以测试啊。但是路径你要自己改啊,  $fav_url = TEMPLATE_URL.'favicon/';$fav_path = TEMPLATE_PATH.'favicon/'; 这是我的路径,我只是提供方法思路,你要自己替换的
    返回顶部| 首页| 手气不错| 网站地图| sitemap| 装逼生成器| 站长介绍|

    Copyright © 2016-2019 起点终站 闽ICP备16011094号-1