PHP - 获取网站的favicon并在必要时将其转换为png

Mal*_*ala 7 php favicon png image-processing

对于任何给定的站点"example.domain.tld"或仅仅是"domain.tld",我需要在PHP中执行以下操作:

  • 如果该网站有图标,请在任何地方获取它
    • 如果它还不是PNG,请将其转换为PNG
    • 将其保存到/favicons/example.domain.tld.png
  • 如果该网站没有图标,则不执行任何操作.

有任何想法吗?我被不可靠的文件格式和favicon的位置所困扰,但是如果可能的话我想避免使用file_get_contents下载整个页面源,以便在标题中找到它.转换为png似乎并不重要.

谢谢,

马拉

Mal*_*ala 26

通常情况下,我在提出问题后不久就找到了一个可通行的解决方案 - 让Google为您完成工作:

http://www.google.com/s2/favicons?domain=URL

返回16x16 png

  • 不是真的 - 首先,它返回一个png,而不是一个ico.其次,favicons可以位于无数的路径中 - 这使其标准化,并将工作留给google.最后,如果找不到favicon,它会返回一个占位符图像,而不是使用损坏的图像登陆. (5认同)
  • 但与所有核心解决方案一样:请注意Google现在可以连接您和那一堆网址.如果这不打扰你,这看起来不错. (3认同)