Почему IE сохраняет изображения из Web в формате BMP?

(PHP) · English (13,445 views)

Сегодня я нашел очень неприятную ошибку в Internet Explorer. Я создал изображение GIF с помощью PHP GD2 и отдал результат клиентскому браузеру. Затем я попытался сохранить изображение на локальном диске, но IE предложил только формат .BMP вместо исходного .GIF! Подобная проблема описана в Базе знаний Microsoft, но эта статья не помогла.

Я начал играться с PHP и заголовками и нашел интересную штуку: ошибка проявляется только если в PHP использовать session_start(). Но мне нужны сессии! Решение было найдено очень простое: нужно было добавить следующие строки перед выводом изображения

1
2
3
header("Cache-Control:");
header("Pragma:");
header("Set-Cookie:");

Эти строки удалят все заголовки, которые отправляет функция session_start(), и IE начинает “понимать” правильный формат изображения.

7 Responses to this entry

Subscribe to comments with RSS

erka
said on 19.01.2006 at 11.17 · Permalink

угу, видел такое. но не игрался для устранения ошибки. спасибо за исследование и решение проблемы

said on 11.05.2006 at 9.43 · Permalink

Спасибо! Сегодня наткнулся и был очень рад, что знаю, где брать ответ. :-)

said on 28.03.2007 at 23.55 · Permalink

Very useful and interesting aricle. Can I translate and insert this on my site?
Greetings
Aukcje

said on 29.03.2007 at 11.18 · Permalink

Of course you can. Just don’t forget to insert link to original one.

kls
said on 25.04.2007 at 21.38 · Permalink

спасибо большое за решение… :)

dkrnl
said on 21.07.2007 at 21.00 · Permalink

тоже намучался с этим – наткнулся на ваш пост.
решение есть более элегантное:
session_cache_limiter(‘none’)

said on 14.10.2007 at 18.28 · Permalink

session_cache_limiter(’none’)
если можно обьясните новичку

Comments are closed

Comments for this entry are closed for a while. If you have anything to say – use a contact form. Thank you for your patience.