1

「favicon.ico」フォームjpg/gif/pngアップロードファイルを作成する非常に単純なPHPスクリプトがあります。

関数の一部は次のとおりです。

$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で生成されたファビコンが適切に表示されます。

しかし、InterentExplorer8では-単に表示されません。

助けてくれてありがとう!

4

1 に答える 1

2

拡張子がicoのPNGとして保存することはできません... Chrome/Opera/Firefoxはファイルを読み取れないと推測しているため、ファイルを開いて実際の形式を調べることにしましたファイル拡張子に依存するよりも、IE はそうではありません。

ただし、 GDは独自にそれを行うことができないため、ICO として保存するには別の解決策を見つける必要があります。

于 2011-09-04T04:42:15.067 に答える