用于EMLOG程序的链接ICO图标缓存调用代码
很多网站的友情链接前都有该网站的ICO图标,这样美化了友情链接的展示样式很好看;在谷歌还能访问的时候,很多都用谷歌的ICO图标接口,现在不能用了,国内也有一些ICO图标调用接口,但都不是很好,蓝叶思考了下,还是自己写个友情链接的ICO图标缓存代码吧;
下面的代码,就是获取网站根目录下的favicon.ico图标然后缓存到本地再调用出来,代码原理是先检测友情链接网站的favicon.ico是否存在是否能正常访问,如果正常则缓存到本地,否则缓存一个设置好的图标调用,这样提高了速度,不会每次都去检测缓存,只有过了30天后再检测一次;
新添加的链接缓存图标时有些慢,等待完成刷新下页面就可以看到正常显示了。有需要的就把下面代码复制到模版的module.php里,然后在需要的地方调用。
说明:使用这个代码需要在模版目录下新建个文件夹为favicon并设置可写权限,在这个文件夹下放个命名为link.png图片文件做为默认调用。
下面的代码,就是获取网站根目录下的favicon.ico图标然后缓存到本地再调用出来,代码原理是先检测友情链接网站的favicon.ico是否存在是否能正常访问,如果正常则缓存到本地,否则缓存一个设置好的图标调用,这样提高了速度,不会每次都去检测缓存,只有过了30天后再检测一次;
新添加的链接缓存图标时有些慢,等待完成刷新下页面就可以看到正常显示了。有需要的就把下面代码复制到模版的module.php里,然后在需要的地方调用。
说明:使用这个代码需要在模版目录下新建个文件夹为favicon并设置可写权限,在这个文件夹下放个命名为link.png图片文件做为默认调用。
<?php function httpcode($url){ $ch = curl_init(); $timeout = 3; curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch,CURLOPT_URL,$url); curl_exec($ch); return $httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE); curl_close($ch); }?> <?php function favicon_file($site_url){ $diy_fav = $site_url."favicon.ico"; $site_md5 = md5($diy_fav); $fav_url = TEMPLATE_URL.'favicon/'; $fav_path = TEMPLATE_PATH.'favicon/'; $t = 2592000; if(is_file($fav_path.$site_md5.'.png') == false || (time() - filemtime($fav_path.$site_md5.'.png')) > $t) { if(httpcode($diy_fav) == 200){copy($site_url.'favicon.ico',$fav_path.$site_md5.'.png');}else{ copy($fav_path.'link.png',$fav_path.$site_md5.'.png'); } }else{$endurl = $fav_url.$site_md5.'.png';} return $endurl; }?> 使用方法:<img width="16" height="16" src="<?php echo favicon_file($value['url']); ?>" alt="<?php echo $value['link']; ?>" style="padding-right:5px;" />
- 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《蓝叶》。
- 本文网址:https://lanye.org/web/717.html
- 上篇文章:PHP获取网站百度搜索和搜狗搜索收录量代码
- 下篇文章:PHP检测网址是否能正常打开代码

五行缺钱2017-10-08 05:00回复
#3
支持蓝叶

网际电脑2016-03-17 17:02回复
#2
我不会修改代码? 可以在主页加上今日条子木?

蓝叶2016-03-17 22:08回复
@网际电脑:没明白什么意思。

网际电脑2016-03-16 20:58回复
#1
链接ICO图标缓存调用代码我能用到么?

蓝叶2016-03-16 21:51回复
@网际电脑:能用,看说明自己修改代码。