vincepare/favicon-downloader

1.0.0 2015-06-22 00:00 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:14:55 UTC


README

FaviconDownloader可以从网页URL中找到favicon URL(并下载它)。这个PHP类处理多种favicon样式,包括一些边缘情况,如相对URL或内嵌favicon

  • 绝对URL
    <link rel="shortcut icon" href="http://www.domain.com/images/fav.ico" />
  • 带有相对方案的绝对URL
    <link rel="shortcut icon" href="//www.domain.com/images/fav.ico" />
  • 绝对路径
    <link rel="shortcut icon" href="/images/fav.ico" />
  • 相对URL
    <link rel="shortcut icon" href="../images/fav.ico" />
  • 嵌入base64编码的favicon
    <link rel="icon" type="image/x-icon" href="data:image/x-icon;base64,AAABAAEAE ... /wAA//8AAA==" />

安装

安装FaviconDownloader最简单的方法是使用命令行中的Composer

composer require vincepare/favicon-downloader

否则,只需下载FaviconDownloader.php并手动require。已在PHP 5.3, 5.4, 5.5 & 5.6上测试。

示例

require 'FaviconDownloader.php';
use Vincepare\FaviconDownloader\FaviconDownloader;

// Find & download favicon
$favicon = new FaviconDownloader('http://stackoverflow.com/questions/19503326/bug-with-chrome-tabs-create-in-a-loop');

if (!$favicon->icoExists) {
    echo "No favicon for ".$favicon->url;
    die(1);
}

echo "Favicon found : ".$favicon->icoUrl."\n";

// Saving favicon to file
$filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'favicon-'.time().'.'.$favicon->icoType;
file_put_contents($filename, $favicon->icoData);
echo "Saved to ".$filename."\n\n";

echo "Details :\n";
$favicon->debug();