1

我正在使用 Google 和 cURL 的组合来检索和保存我的用户在其个人资料中输入的网站的网站图标。我正在使用以下代码:

$url = 'www.madeupwebsitewithnoFavicon.com';
$fp = fopen ('img/favicons/'.$saveFileName.'.png', 'w+');
$ch = curl_init('http://www.google.com/s2/favicons?domain='.$url);
curl_setopt($ch, CURLOPT_TIMEOUT, 6);
/* Save the returned data to a file */
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);

我想知道该网站是否真的有一个网站图标,以便我可以继续并将有关它的内容保存到数据库中。我用谷歌搜索但找不到适合我的解决方案。

我确实看到了一些看起来对我有用但没有的东西:

$pattern = '/<link[^>]+rel\s*=\s*["\']?\s*shortcut\s+icon\s*["\']?/i';
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
return preg_match($pattern, curl_exec($ch));

有人有什么想法吗?这对我来说有点新鲜

4

1 回答 1

1

卷曲 $domain."./favicon.ico" 并测试 http 响应是否为 200 怎么样?

于 2013-02-26T14:38:26.723 回答