stefanbauer/laravel-favicon-extractor

Laravel 的 favicon 提取器

0.10.0 2022-03-24 06:32 UTC

This package is auto-updated.

Last update: 2024-09-24 12:18:39 UTC


README

Latest Version on Packagist Build Status Total Downloads Software License

此包提供了一种方便的方法,通过使用适当的 Google 服务从任何网站提取 favicon。它允许您获取并将其保存到本地存储。

使用方法

使用方法非常简单。您可以通过依赖注入或使用外观类来实现。

  • 对于依赖注入版本,类型提示 FaviconExtractorInterface
  • 对于外观类版本,使用 FaviconExtractor 外观类。

通用

  • 如果找不到 favicon,则返回默认的一个。
  • favicon 的扩展名始终是 .png。不需要将其作为文件名的一部分。

仅获取 favicon

$favicon = FaviconExtractor::fromUrl('https://laravel.net.cn')->fetchOnly();

它返回一个实现 FaviconInterface 的实例,您可以使用 $favicon->getContent() 获取 favicon 的原始内容。

获取并下载 favicon

如果您希望将 favicon 保存到本地存储,可以这样做。唯一的要求是定义 favicon 应保存的路径。它相对于您在 config/filesystems.php 中定义的根路径。如果您的路径是 favicons,则它将被保存到 app/storage/favicons

使用随机生成的文件名

FaviconExtractor::fromUrl('https://laravel.net.cn')->fetchAndSaveTo('favicons');
// returns favicons/HIgLtwL0iUdNkwfq.png

使用自定义文件名

FaviconExtractor::fromUrl('https://laravel.net.cn')->fetchAndSaveTo('favicons', 'myFilename');
// returns favicons/myFilename.png

安装

要安装此包,通过 composer 要求。

$ composer require stefanbauer/laravel-favicon-extractor

感谢 Laravel 5.5+ 包自动发现,无需手动添加 ServiceProvider。如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php 中的 providers 数组。

StefanBauer\LaravelFaviconExtractor\FaviconExtractorServiceProvider::class,

如果您想使用外观,请在 config/app.php 中的 facades 数组中添加此内容。

'FaviconExtractor' => StefanBauer\LaravelFaviconExtractor\Facades\FaviconExtractor::class,

配置

如果您想修改配置,请使用发布命令复制包配置。

php artisan vendor:publish --provider="StefanBauer\LaravelFaviconExtractor\FaviconExtractorServiceProvider" --tag="config"

配置文件只有两个选项可以更改。即 provider_classfilename_generator_class。通常情况下,无需更改,除非您想有不同的实现来获取 favicon 和生成文件名。请确保实现相应的接口。

测试

$ vendor/bin/phpunit

变更日志

请查看 CHANGELOG 了解最近的变化。

贡献

请查看 CONTRIBUTING 获取更多信息。

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 LICENSE