Почему архив открывается в броузере?

nl2br

Новичок
Почему архив открывается в броузере?

Всем привет.
Проблема вот в чём:
на сайте все скачивания подситываются, есть файл, который редиректит на архив, который в свою очередь открывается в броузере!
С чем это может быть связано?
Я не указываю Content-Type, думаю что нет необходимости.
Или же на серваке не хватает
AddType application?

Спасибо за внимание.
 

nl2br

Новичок
скажи пожалуйста какой надо на архив rar? Или нет разницы для архивов?
 

gudzon

Guest
точно не помню, попробуй так:
application/rar
щас поищу, где-то у меня это было :)
 

nl2br

Новичок
не пашет, может httpd.conf - AddType application?
там тока
AddType application/x-tar .tgz
или mime.types?
 

gudzon

Guest
-~{}~ 20.08.04 12:59:

Автор оригинала: nl2br
не пашет, может httpd.conf - AddType application?
там тока
AddType application/x-tar .tgz
или mime.types?
Ну добавь и там, хотя я так понимаю, что если он у тебя там прописан, то header() уже не обязательно делать. Хотя могу и ошибаться.
 

Cid

...двинутый новичок
Если надо просто скачать, то укажи application/octet-stream

-~{}~ 20.08.04 13:03:

nl2br
Я не указываю Content-Type, думаю что нет необходимости.
Указывать надо, т.к. иначе сервер подставит тип по умолчанию, а это как правило text/html, соответственно браузер пытается бинарный файл (архив) отобразить в виде html, вот он на экран и выводится.
 

Stefix

Guest
попробуй
AddType application/x-rar-compressed .rar
или
AddType application/rar .rar
что-то должно проканать
 

elPoison

Guest
Re: Почему архив открывается в броузере?

Originally posted by nl2br

С чем это может быть связано?
Я не указываю Content-Type, думаю что нет необходимости.
Сталкивался с подобной проблемой. Решилось так:

PHP:
header("Content-type: application/rar"); 
header("Content-Disposition: attachment; filename=_имя_файла_.rar");
 

nl2br

Новичок
код изменил на
Код:
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=_имя_файла_.rar");
теперь предлагает скачать файл, который после скачивания имеет размер 0 kb.
Причем под всеми броузерами.

А до поправки кода,
Код:
header("Content-type: application/octet-stream");
header("Location: url/_имя_файла_.rar");
у IE и Opera предлагалось скачать, а Firefox пытался открыть архив прям в окне, т.е. в виде text/html,
можете что-нибудь подсказать?

-~{}~ 06.09.04 19:17:

Приношу свои извинения, всё работает вот так.
Код:
header("Content-type: application/rar");
       header("Content-Length: ".filesize($file));
       header("Content-Disposition: attachment; filename=\"$file\"");
       readfile($file);
под всеми броузерами.
 
Сверху