X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Получение favicon любого сайта
isvetlichniy
isvetlichniy
Topic Starter сообщение 30.6.2013, 12:11; Ответить: isvetlichniy
Сообщение #1


Для конкурса "Web-ошибки"

Приветствую всех читателей! Сегодня поговорим о favicons для сайтов.
Для тех, кто не в курсе, что такое favicon (взято из википедии): "Favicon (сокр. от англ. FAVorites ICON — «значок для избранного», от названия папки с закладками в MSIE) — значок веб-сайта или веб-страницы. Отображается браузером в адресной строке перед URL страницы, а также в качестве картинки рядом с закладкой, во вкладках и в других элементах интерфейса."


Так уж сложились обстоятельства, что в последнее время пришлось выполнять много работы, связанной с пользовательским интерфейсом, хотя основное направление моей деятельности все же направлено на серверную разработку.
При написании очередного скрипта - конструктора сайтов - встал вопрос об автоматическом получении favicon для любого сайта, когда добавляется на страницу ссылка с этого сайта. Чтобы Вы долго не гадали что и как, продемонстрирую скриншот.
[img]http://mywebhelper.net/uploads/images/favicon.jpg[/img]


Все иконки для ссылок получены с помощью скрипта.
Было испробовано множество вариантов для получения удаленного файла - и через сокеты и через CURL, но ни один из способов не давал 100% результата.
В итоге был использован сервис генерации favicons от google. Функция выглядит следующим образом:

function getFavicon($url) {
                 $url = parse_url($link);
                 $domain = $url['host'];
                 $favicon = "http://www.google.com/s2/favicons?domain=".$domain;
                 return $favicon;
}


Пример использования

$favicon = getFavicon('http://google.com');


Переменная $favicon будет содержать URL изображения

Ну вот и все, друзья!
Happy coding! :)

Полный текст статьи
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
wolverine_hb
wolverine_hb
сообщение 7.7.2013, 7:47; Ответить: wolverine_hb
Сообщение #2


а зачем вообще скчивать изображение?
Просто
echo '<img src="'.$site_url.'favicon.ico">';
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
Topic Starter сообщение 7.7.2013, 13:47; Ответить: isvetlichniy
Сообщение #3


не для каждого сайта это можно сделать (попробуй сделать например для яндекса с помощью твоего метода <img src="'http://yandex.ru/favicon.ico">)
а еще не всегда favicon лежит в корне сайта.

а эта функция позволяет получить иконку для практически любого сайта
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 7.7.2013, 17:17; Ответить: yury_mw
Сообщение #4


[member=isvetlichniy],
а что не так с иконкой яндекса? Она спокойно вставляется на страницу кодом
<img src="http://yandex.ru/favicon.ico" />

Когда же favicon.ico не доступен в корне сайта, то в коде должна быть строка вроде такой:
<link rel="shortcut icon" href="path_to_favicon/favicon.ico" type="image/x-icon" />


Так что особых проблем получить favicon.ico, вроде как, быть не должно.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
Topic Starter сообщение 11.7.2013, 9:10; Ответить: isvetlichniy
Сообщение #5


href="path_to_favicon/favicon.ico"

а как определить этот путь? :)
парсить страницу?

в этом и есть особеность скрипта, что он сам определяет где иконка
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
wolverine_hb
wolverine_hb
сообщение 11.7.2013, 15:56; Ответить: wolverine_hb
Сообщение #6


а вы думаете этот сервис определяет где иконка? Он так же парсит страницу и если там нет кастомного пути дает ссылку на site.ru/favicon.ico.
А теперь подумайте, что лучше когда вы сами парсите страницу или делаете запрос к сервису который парсит эту страницу? Первый вариант куда быстрее, так что если сервис начнет тормозить все встанет и у вас.


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрая индексация страниц сайта и обратных ссылок - 2Index
38 2Index 6642 18.4.2024, 12:56
автор: 2Index
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2821 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыSiteAnalyzer - бесплатная программа для аудита и анализа сайта
77 Chaser 74222 9.4.2024, 11:36
автор: Chaser
Открытая тема (нет новых ответов) Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта
0 Alex-777 865 7.4.2024, 18:05
автор: Alex-777
Горячая тема (нет новых ответов) Продвижение молодого сайта
30 maxmer 6579 26.3.2024, 21:49
автор: c4p1t4l15t


 



RSS Текстовая версия Сейчас: 20.4.2024, 4:48
Дизайн