Если у Вас есть функция как:
int foo()
{
// more stuff
foo();
}
Затем нечто () будет продолжать называть себя, становясь глубже и глубже, и когда пространство раньше отслеживало, каких функций Вы находитесь в, заполнено, Вы получаете ошибку переполнения стека.
Как обычно, я нашел приемлемое решение вскоре после того, как задал вопрос - позвольте Google сделать эту работу за вас:
http://www.google.com/s2/favicons? domain = URL
возвращает png 16x16
Обложка в PNG не так уж и сложна.
Я не совсем понимаю, есть ли этот значок избранного на вашем сайте или на других сайтах? Если на других сайтах, вам нужно будет проанализировать полученный HTML, а затем каким-то образом загрузить значок.
Если значок не находится в /favicon.ico, думаю, вам нужно проанализировать HTML.
Для определения типа файла вы можете использовать это расширение , которое определяет тип файла с помощью магических байтов.
Вы можете преобразовать в PNG с помощью библиотеки GD, пример можно найти здесь .
Если ваша установка PHP включает библиотеку GD, вы можете преобразовать изображение в PNG с помощью функции imagepng .
Нашел: http://www.controlstyle.com/articles/programming/text/php-favicon/
Я собираюсь попробовать это в своем проекте, и я сообщу вам, работает ли он!
Ура
Иэн