java缓存别人网站的ico图标_简单缓存网站小图标 favicon.ico

PHP 获取网站图片缓存到本地服务器

访问地址类似于  http://*****/**本文件.php?http://需要获取图标的网址    (无需 url 编码)

PHP 代码:

/**

* 网站 favicon.ico 图标缓存

*

* 使用时 上传服务器访问 本文件.php?http://gouji.org

* 返回 http://gouji.org 的 favicon.ico 并缓存在本地

* 如果 favicon.ico 不存在 就显示当前文件夹下的 ico.png 文件

* 如果不存在本图片 将返回 透明的空白图片一张

*

* Author: 简爱

* Author Email: sc.419@qq.com

* Author URL: http://gouji.org

* Date: 20141103

**/

define('PATH', dirname(__FILE__) ."/");

define('CACHE', PATH ."/cache/"); // 缓存目录

define('ICO_TYPE', ""); // 缓存文件 后缀

define('TIME_OUT', 3600 * 24 * 30); // 缓存有效时间

if(!file_exists(CACHE)) mkdir(CACHE);

if(isset($_SERVER['QUERY_STRING']) &&

@ preg_match("/\/\/([^\/]*)/i", $_SERVER['QUERY_STRING'], $u))

$host = $u[1];

else

putIco();

define('ICO', CACHE . $host . ICO_TYPE);

if(file_exists(ICO) && time() - filectime(ICO) < TIME_OUT)

putIco(file_get_contents(ICO));

else

getIco($host);

function getIco($u){

$ico = file_get_contents("http://$u/favicon.ico");

file_put_contents(ICO, $ico);

putIco($ico);

}

function putIco($i=false){

$d = PATH . 'ico.png';

$i = !$i || empty($i) ? ( file_exists($d) ? file_get_contents($d) :

base64_decode('R0lGODlhAQABAJEAAAAAAP///wAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw==')) : $i;

header("Content-Type: image/png");

die($i);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值