Košík je prázdný

Vytvoření skriptu v PHP pro konverzi obrázku ve formátu PNG do formátu favicon.ico vyžaduje použití několika funkcí GD knihovny pro manipulaci s obrázky. Tento jednoduchý skript přečte soubor PNG, převede ho na požadované rozměry (obvykle 16x16, 32x32, nebo 48x48 pixelů pro favicon) a poté uloží jako .ico soubor. Předpokládám, že máte již nainstalovanou GD knihovnu v PHP.

<?php

function pngToFavicon($sourcePath, $destinationPath) {
    // Načte PNG obrázek
    $image = imagecreatefrompng($sourcePath);
    if (!$image) {
        die('Chyba při načítání PNG souboru.');
    }

    // Získá rozměry původního obrázku
    $width = imagesx($image);
    $height = imagesy($image);

    // Vytvoří nový prázdný obrázek pro favicon
    $favicon = imagecreatetruecolor(16, 16);

    // Změní velikost původního obrázku na rozměry favicon (16x16)
    imagecopyresampled($favicon, $image, 0, 0, 0, 0, 16, 16, $width, $height);

    // Uloží obrázek jako .ico soubor
    imagewebp($favicon, $destinationPath, 100); // PHP nemá nativní podporu pro .ico, takže použijeme .webp
    imagedestroy($image);
    imagedestroy($favicon);

    echo "Favicon byl úspěšně vytvořen.\n";
}

// Příklad použití
$sourcePath = 'cesta/k/vasemu/obrazku.png';
$destinationPath = 'favicon.ico';

pngToFavicon($sourcePath, $destinationPath);

?>

Tento skript je základní a vytvoří favicon velikosti 16x16 pixelů. Mějte na paměti, že .ico formát může obsahovat několik obrázků různých velikostí v jednom souboru, což tento skript neřeší. Navíc, kvůli omezené podpoře formátů obrázků v PHP, skript ukládá výsledný obrázek ve formátu .webp místo .ico, což může ne všechny prohlížeče podporovat jako favicon. Pro plnou konverzi do .ico formátu byste mohli potřebovat použít externí nástroje nebo knihovny.

Pokud potřebujete skutečně vytvořit .ico soubor, můžete zvážit použití specializovanějších nástrojů nebo online služeb, které zvládnou konverzi přímo do .ico formátu.