Iain Fraser が言ったように、controlstyle.com の Favicon クラスはすべてのテスト ケースで機能するわけではありません。
基本的に、提供されている場合、<link>
ショートカット アイコン タグにはさまざまな URL タイプを含めることができます。
- 完全な絶対 URL :
http://www.domain.com/images/fav.ico
- 相対スキームを使用した絶対 URL :
//www.domain.com/images/fav.ico
- 絶対パス:
/images/fav.ico
- 相対 URL :
../images/fav.ico
さらに、Web ページには、<base href="..." />
相対 URL と絶対パスの処理方法を変更する属性を含めることができます...
そこで、これらすべてのケースで動作する PHP クラスを作成しました。最初に、属性からファビコン URL を取得しようとし<link>
、失敗した場合はデフォルトのファビコン URI (//www.domain.com/favicon.ico) にフォールバックします。
私のウェブサイトhttp://www.finalclap.com/faq/477-php-favicon-find-downloadまたは composer を使用してインストールできますcomposer require vincepare/favicon-downloader
。
使い方 :
<?php
require 'FaviconDownloader.class.php';
$favicon = new FaviconDownloader('http://stackoverflow.com/questions/19503326/bug-with-chrome-tabs-create-in-a-loop');
if($favicon->icoExists){
echo "Favicon found : ".$favicon->icoUrl."\n";
// Saving favicon to file
$filename = 'favicon-'.time().'.'.$favicon->icoType;
file_put_contents($filename, $favicon->icoData);
echo "Saved to ".$filename."\n\n";
} else {
echo "No favicon for ".$favicon->url."\n\n";
}
?>