2011-02-14 19 views
1

私はカールとPHPを使用してウェブサイトのロゴをつかみたいです。phpとcURLを使用しているサイトのロゴを取得

私が実際に望むのは、ユーザーに入力フィールドを表示することです。ユーザーがフィールドにURLを入力すると、スクリプトはそのURLのロゴを取得する必要があります。 私はそれを行う方法を知らない。混乱した:

私はそこに何か解決策はありますか? それはallmyfavsがそれを使用しているので不可能ではありません。

答えて

1

手動による解決方法は、<meta rel="shortcut icon" ...の参照を探してホームページを解決するか、デフォルトのhttp://example.com/favicon.icoをフォールバックとして読み込んでから変換して表示します。

は、GoogleのファビコンのAPIのような無料の既存のサービスを使用する場合、それははるかに簡単です:
http://www.google.com/s2/favicons?domain=www.stackoverflow.com

は単純に、ドメイン名を切り取っサービスAPIに追加して、あなたは完全なイメージタグを持っている:

$domain = parse_url($url, PHP_URL_HOST); 
print "<img src='http://www.google.com/s2/favicons?domain=$domain'>"; 
+0

それはすべてのための世界の写真を表示しますか? – cute

+0

それはすべてのサイトのために表示されていません:(その少数のサイトのショー:(とその完全なロゴが必要ですが、 ? – cute

+1

@cute:いいえ。サイトがfaviconを提供していない場合、自動的に取得する方法はありません。 - Webサイトのスクレイピング(ロゴの抽出が必要)の後であれば、より複雑な解決策が必要です多くのロゴは現在CSSで参照されているので、実際には実用的ではありません。 - 画像のWebサイトをスキャンし、ロゴが何であるかを推測するためにphpQueryを調べることができます。 – mario

0

http://www.controlstyle.com/articles/programming/text/php-favicon/にあるソースを使用できます。 .icoファイルがメインページ内にないすべてのソースでは機能しない可能性があることに注意してください(特にそのような場合にはそれを実行する必要があります)。または、そこに提案されたGoogleを使用することもできます。

関連する問題