PHP GD - создание favicon.ico для InternetExplorer - PullRequest
1 голос
/ 04 сентября 2011

У меня есть очень простой PHP-скрипт, который создает "favicon.ico" в виде загруженного файла jpg / gif / png.

Вот часть функции:

$file = 'cache/'.$e .'/'. basename($_FILES['uploadfile']['name']);

if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {  

$im = imagecreatefromjpeg($file);
    list($width, $height) = getimagesize($file);
    $image_p = imagecreatetruecolor("16", "16");
    imagecopyresampled($image_p, $im, 0, 0, 0, 0, "16", "16", $width, $height);
    $num = rand (1,99999);
    $output = $num."-favicon.ico";
    imagepng($image_p,'dl/'.$output);
    imagedestroy ($im);
    unlink ($file);
    echo 'success';  

} 

И скриптработает отлично!В Chrome, Opera и Firefox сгенерированные значки избранного выглядят хорошо, как и должно быть.

Но в Interent Explorer 8 - они просто не отображаются.

Спасибо за любую помощь!

1 Ответ

2 голосов
/ 04 сентября 2011

Вы не можете просто сохранить его как PNG с расширением ico ... Я предполагаю, что Chrome / Opera / Firefox не может прочитать файл, поэтому они решили открыть файл и выяснить, что на самом делеформат, а не в зависимости от расширения файла, в то время как IE нет.

Однако вам нужно будет найти другое решение, чтобы сохранить его как ICO, поскольку GD не может сделать это самостоятельно, выможно попробовать ImageMagick или после быстрого Google phpThumb , кажется, в состоянии сделать это (не пробовал).

...