Favico网上正规ag平台n网Kaiyun体育登录入口站图标抓取API接口php源码
Favicon.ico远程获取API
跟第一个方法差不多,目录导航站等。Cache::get 方法中需同时修改 } Cache::set($formatUrl, $content, $expire); foreach ($favicon->getHeader() as $header) { @header($header); } echo $content; exit; }}else{ return http_response_code(404);}/** * 缓存类 */class Cache{ /** * 获取缓存的值, 不存在时返回 null * * @param $key * @param $default 默认图片 * @param $expire 过期时间 * @return string */ public static function get($key, $default, $expire) { $dir = 'cache'; //图标缓存目录 //$f = md5( strtolower( $key ) ); $f = parse_url($key)['host']; $a = $dir . '/' . $f . '.txt'; if(is_file($a)){ $data = file_get_contents($a); if( md5($data) == $default ){ $expire = 43200; //如果返回默认图标,常见的favicon地址http://www.bokequ.com/favicon.ico
favicon一般用于网站的友情链接、很多都是用别人的api接口,'); if ( !is_file($a) || (time() - filemtime($a)) > $expire ) { $imgdata = fopen($a, "w") or die("Unable to open file!"); //w 重写 a追加 fwrite($imgdata, $value); fclose($imgdata); clearstatcache(); } }}
伪静态显示方式-方便cdn缓存
# Nginx规则rewrite ^/favicon/(.*)\.png$ /favicon/get.php?url=$1;# Apache 规则<IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^favicon/(.*)\.png$ favicon/get.php?url=$1 [L]</IfModule>
调用方法 http://you.url/favicon/www.bokequ.com.png
注:目标网址不能有 http(s)://
2、getFavicon获取网站的Favicon图标并显示在你的网页上.
安装使用
将文件上传到网站根目录
cache缓存文件夹给755权限
然后访问http://you.url/get.php?url=http://www.bokewu.com
例如:http://cn.bokew.com/get.php?url=http://www.bokequ.com/
如果出现获取不了的情况建议删除缓存再试一次
在get.php内自定义项参数设置
<?php/** * php获取网站favicon图标 * url:http://www.bokequ.com/tag/api */if( !isset($_GET['url'])){ return http_response_code(404);}require "./favicon.php";$favicon = new \Jerrybendy\Favicon\Favicon;/* ------ 参数设置 ------ */$defaultIco='favicon.png'; //默认图标路径$expire = 2592000; //缓存有效期30天, 单位为:秒,Favicon网站图标抓取API接口的方法百度网盘下载
此处为隐藏的内容过期时间为12小时。并在cac网上正规ag平台trong>Kaiyun体育登录入口he文件生成ico图标缓存。为0时不缓存/* ------ 参数设置 ------ *//** * 设置默认图标 */$favicon->setDefaultIcon($defaultIco);/** * 检测URL参数 */$url = $_GET['url'];/* * 格式化 URL, 并尝试读取缓存 */$formatUrl = $favicon->formatUrl($url);if($formatUrl){ if($expire == 0){ $favicon->getFavicon($formatUrl, false); exit; } else { $defaultMD5 = md5(file_get_contents($defaultIco)); /** * 2023-02-20 * 增加刷新缓存参数:refresh=true 如:https://域名?url=www.iowen.cn&refresh=true */ if( !isset($_GET['refresh']) || ( isset($_GET['refresh']) && $_GET['refresh']!='true' ) ){ $data = Cache::get($formatUrl,$defaultMD5,$expire); if ($data !== NULL) { foreach ($favicon->getHeader() as $header) { @header($header); } echo $data; exit; } } /** * 缓存中没有指定的内容时, 重新获取内容并缓存起来 */ $content = $favicon->getFavicon($formatUrl, TRUE); if( md5($content) == $defaultMD5 ){ $expire = 43200; //如果返回默认图标,特别是目录导航收录的网站网址,设置过期时间为12小时。php获取网站favicon图标,如果获取部分网站favicon失败,会使用自带的favicon.ico把ico文件上传你网站的根目录,可以部署到自己的服务器。在打开网页或将网页添加到收藏时都会显示。这里分Kaiyun体育登录入网上正规ag平台口享自用的api接口源码,
1、然后访问http://you.url/ico/get.php?url=www.bokequ.com
效果显示http://www.99jky.com/ico/get.php?url=www.bokequ.com
以上就是快速获取网站Favicon图标api, } if( (time() - filemtime($a)) > $expire ){ return null; } else{ return $data; } } else{ return null; } } /** * 设置缓存 * * @param $key * @param $value * @param $expire 过期时间 */ public static function set($key, $value, $expire) { $dir = 'cache'; //图标缓存目录 //$f = md5( strtolower( $key ) ); $f = parse_url($key)['host']; $a = $dir . '/' . $f . '.txt'; //如果缓存目录不存在则创建 if (!is_dir($dir)) mkdir($dir,0777,true) or die('创建缓存目录失败!就是显示在浏览器标题栏上的小图标,
很多网站都有favicon图片,但一段时间就不用使用了。
- 最近发表
- 随机阅读
-
- 小米推出15周年纪念版智能手表:eSIM独立联网,自研玄戒T1芯片,仅售1299元,惊喜体验等你来!
- 面壁智能与易来联手打造:颠覆性AI家居中枢,纯端侧AI智慧屏引领未来家居新潮流
- 多功能二维码在线生成网站源码
- WordPress网站外链添加GO跳转提示代码
- dedecms模板源码程序安装常见问题
- dedecms织梦网站模板源码图文安装教程
- HTML5+CSS3实现列表式音乐播放器特效源码
- CSS3渐变效果linear
- 个人博客主页如何做网站优化
- HTML5+CSS3实现列表式音乐播放器特效源码
- 小米米家智能香氛机套装植萃系列:低成本高品质,打造清新家居环境
- wordpress插件Bing URL Submissions网址自动提交到必应
- WHOIS域名信息查询php源码
- dedecms织梦仿站工具软件下载
- 微博图片显示403无法打开如何解决?
- JavaScript的详细概述/什么是JavaScript
- 微软Microsoft Edge Image Editor扩展如何关闭?
- WordPress博客分类目录内容不在首页显示方法
- 圆形滚动404动画页面特效
- 个人网站如何选择关键词
- 搜索
-
- 友情链接
-