문제

주어진 사이트 "example.domain.tld"또는 단순한 "domain.tld"의 경우 PHP에서 다음을 수행해야합니다.

  • 사이트에 Favicon이있는 경우 어디에 있든
    • 아직 PNG가 아닌 경우 PNG로 변환하십시오.
    • /favicons/example.domain.tld.png에 저장하십시오
  • 사이트에 Favicon이 없으면 아무것도하지 않습니다.

어떤 아이디어? 나는 신뢰할 수없는 fileformat와 favicons의 위치에 머무르고 있지만, 가능하다면 Pignet_contents가있는 페이지 전체 소스를 다운로드하여 헤더에서 찾을 수 있습니다. 또한 PNG로 변환하는 것은 사소한 것으로 보입니다.

감사,

말라

도움이 되었습니까?

해결책

일반적으로 질문을 한 직후 통과 가능한 솔루션을 찾았습니다. Google은 다음을 수행하도록하겠습니다.

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

16x16 PNG를 반환합니다

다른 팁

이것을 찾았습니다 : http://www.controlstyle.com/articles/programming/text/php-favicon/

나는 내 프로젝트를 위해 그것을 시도하려고한다. 그리고 다시보고하고 그것이 작동하는지 알려줄 것이다!

건배

iain

Iain Fraser가 말했듯이 ControlStyle.com의 Favicon 클래스는 모든 테스트 사례와 함께 작동하지는 않습니다.

기본적으로 제공되는 경우 <link> 바로 가기 아이콘 태그는 다른 URL 유형을 포함 할 수 있습니다.

  • 전체 절대 URL : http://www.domain.com/images/fav.ico
  • 상대 체계가있는 절대 URL : //www.domain.com/images/fav.ico
  • 절대 경로 : /images/fav.ico
  • 상대 URL : ../images/fav.ico

또한 웹 페이지에는 a를 포함 할 수 있습니다 <base href="..." /> 상대 URL 및 결말 경로를 다루는 방법을 변경하는 속성 ...

그래서 저는이 모든 경우와 함께 작동하는 PHP 수업을 작성했습니다. 먼저, 그것은 Favicon URL을 <link> 실패의 경우 기본 Favicon URI (//www.domain.com/favicon.ico)의 속성 및 폴백.

내 웹 사이트에서 여기에서 가져올 수 있습니다. http://www.finalclap.com/faq/477-php-favicon-find-download 또는 작곡가를 사용하여 설치하십시오. composer require vincepare/favicon-downloader.

사용하는 방법 :

<?php
require 'FaviconDownloader.class.php';
$favicon = new FaviconDownloader('http://stackoverflow.com/questions/19503326/bug-with-chrome-tabs-create-in-a-loop');

if($favicon->icoExists){
    echo "Favicon found : ".$favicon->icoUrl."\n";

    // Saving favicon to file
    $filename = 'favicon-'.time().'.'.$favicon->icoType;
    file_put_contents($filename, $favicon->icoData);
    echo "Saved to ".$filename."\n\n";
} else {
    echo "No favicon for ".$favicon->url."\n\n";
}
?>

PNG를 덮는 것은 그리 어렵지 않습니다.

나는 전적으로 질문을받지 못합니다.이 FAV 아이콘은 귀하의 사이트 나 다른 사이트에 있습니까? 다른 사이트에서 HTML을 가져 와서 파비콘을로드해야합니다.

Favicon이 /favicon.ico에 없으면 HTML을 구문 분석해야한다고 생각합니다.

Filetype 감지의 경우 사용할 수 있습니다 이 확장, 마법 바이트를 사용하여 필레 타입을 감지합니다.

GD 라이브러리를 사용하여 PNG로 변환 할 수 있습니다. 예제를 찾을 수 있습니다. 여기.

PHP 설치에 GD 라이브러리가 포함 된 경우 이미지를 imagepng 기능.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top