使用PHP获取网站Favicon的方法

Jan022014
作者:Jerry Bendy   发布:2014-01-02 23:18   分类:PHP   阅读:4,357 views   20条评论  

最近做一个Tab需要在网站名旁边显示网站的Favicon以提高显示效果,如图:

开始做的时候想到的是利用Google的方式来获取,使用“http://www.google.com/s2/favicons?domain=网址”的方式可以直接获得网站的Favicon图标并以16*16大小图片的形式显示出来,这个方法简单方便,但在有些网络环境下却会出现图片无法显示的问题(需要FQ),为了解决这个BUG我决定重新写一个获取Favicon的函数,使用自己的服务器以避免FQ。

实际效果请参见示例:

http://favicon.byi.pw/?url=blog.icewingcc.com

如果不想自己写方法的话也可以使用我提供的接口,即“http://favicon.byi.pw/?url=网址”,网址可以带http://前缀。

代码(调用Google的方式,这种方式可以减少代码量,并且速度也比较快):

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

没错,就这几行代码搞定一切 ^_^

这样只要我们使用的服务器能够访问Google就可以正常显示出Favicon,不再受网络环境的影响。

复杂些的方法就是自己写获取函数,这里我只提供思路,就不再写代码了,如果有需要代码可留言,定附上。

一般网站都会把自己的Favicon图标以“favicon.ico”命名并放在网站根目录下,如http://www.baidu.com/favicon.ico。所以可以直接使用PHP函数 file_get_contents()来获取图片内容,设置Header为PNG图片,显示出来即可。

如果根目录没有favicon.ico这个文件的话可以使用file_get_contents或CURL获取网页的内容,使用正则找到“ <link rel=”shortcut icon” href=”..” />”,href里面便是favicon的文件位置,直接获取它的内容即可。

使用PHP获取网站Favicon的方法相关推荐

  1. 获取网站 favicon.ico 的三种方法

    获取网站 favicon.ico的三种方法 方法一: 直接在网站网址后面加favicon.ico 例如:https://www.baidu.com/favicon.ico (有一些网站可能会直接跳转到 ...

  2. 用jquery的ajax功能获取网站alexa的方法

    用jquery的ajax功能获取网站alexa的方法: 获取网站alexa的方法其实就是利用了jquery的ajax功能,获取远程的xml文件,读取指定内容的代码,从而获取网站的alexa排名. 代码 ...

  3. .net 获取网站根目录的方法

    From: http://www.cnblogs.com/wenbo/archive/2011/08/09/2132620.html 获取网站根目录的方法有几种如: Server.MapPath(Re ...

  4. favicon自动获取_wordpress网站友情链接页面使用DNSPod自动获取网站favicon图标教程...

    在网站的友情链接页面,经常可以看到网站的图标增加美感.在以前,有些是直接使用favicon.ico地址读取,但是确有弊端那就是很多网站首页并没有favicon.ico,就不可靠.还有一部分人采用的是谷 ...

  5. favicon自动获取_php获取网站favicon.ico图标 api源码 自动获取并添加Favicon图标

    通常情况下,做网站的都会给自己的网站添加一个Icon,浏览器上一长排的标签页,用Icon来区分就显得更加醒目.现在想找一个没有Icon的网站并不好找,可见没有Icon的网站是多么的业余啊." ...

  6. 【ASP.NET】获取网站目录的方法

    获取网站物理路径: HttpRuntime.AppDomainAppPath 获取网站虚拟路径: HttpRuntime.AppDomainAppVirtualPath 转载于:https://www ...

  7. 8种免费获取网站流量的方法,值得收藏!

    你是否在预算不足的情况下,还需要继续提高你网站的流量,很多SEO人员都会面临这个问题,虽然在开展项目之前做好预算是必修课,但在实际的过程中,总会超预算才能完成任务,那么我们该怎么办呢? 你可以通过如下 ...

  8. 获取网站流量的方法有哪些?

    不同流量源的比例反映了网站所有者不同的管理策略和网站的发展阶段.那么,网站流量来源都有哪些?接下来小编就跟大家浅析下网站流量来源的三大途径,一起来看看吧! 1.直接访问来源 搜索引擎源和外部链源依赖于 ...

  9. 下载网站 favicon 图标的 3 种方法

    你好,我是悦创. 在工作中,有时候我们会需要用到一些网站图标,但是浏览器上没有提供直接下载网站图标的方法,想要下载必须使用一些技巧,本文中就来分享下获取网站 favicon 的几种方法. 1.直接访问 ...

最新文章

  1. appium-chromedriver@3.0.1 npm ERR! code ELIFECYCLE npm ERR! errno 1
  2. WordPress数据库及各表结构
  3. RPM安装包-Spec文件參数具体解释与演示样例分析
  4. oracle强大的包,ORACLE 程序包
  5. 彻底解决iOS项目中 _OBJC_CLASS_$_XXXService, referenced from: 的类似问题
  6. python打开文件要wordcloud吗,使用python创建wordcloud
  7. GCD简介一:基本概念和Dispatch Queue
  8. Android混淆编译Proguard
  9. c语言的按位取反运算符
  10. 树莓派超声波 c语言,树莓派超声波测距+蜂鸣器(c语言)
  11. c++中struct构造函数
  12. 外贸开发信各国发送的最佳时间
  13. petalinux-build 报错解决
  14. 串联四足机器人基础知识
  15. SCI论文思维导图:写作技巧(2)
  16. 现在个人博客网站还能够备案吗?是否需要企业身份才能备案?
  17. 区块链共识之Paxos算法理解与实战
  18. 常见卫星图源下载教程
  19. WinXPsp3安装IIS6报错
  20. 软件工程师的年终总结

热门文章

  1. 计算机网络中心防火门开启方向,防火门的开启方向怎么确定?
  2. 后羿 05 ‖ 九婴
  3. 餐饮外卖平台小程序源码_餐饮连锁店,加盟,入住
  4. 数据可视化学习(一)——折线图和散点图
  5. 零基础入门学习python笔记-day1:程序开发谋定而后动
  6. AD10 report_drc.xsl不存在解决方法
  7. 如何给自己打造好的“口碑”?
  8. tf.matmul()
  9. VMware配置虚拟机映射,实现局域网络互相访问
  10. 【手把手反内卷】开创全新AI多模态任务一视听分割:代码实践、优化教程(二)