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

  • Автор темы Автор темы nl2br
  • Дата начала Дата начала

nl2br

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

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

Спасибо за внимание.
 
скажи пожалуйста какой надо на архив rar? Или нет разницы для архивов?
 
точно не помню, попробуй так:
application/rar
щас поищу, где-то у меня это было :)
 
не пашет, может httpd.conf - AddType application?
там тока
AddType application/x-tar .tgz
или mime.types?
 
-~{}~ 20.08.04 12:59:

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

-~{}~ 20.08.04 13:03:

nl2br
Я не указываю Content-Type, думаю что нет необходимости.
Указывать надо, т.к. иначе сервер подставит тип по умолчанию, а это как правило text/html, соответственно браузер пытается бинарный файл (архив) отобразить в виде html, вот он на экран и выводится.
 
попробуй
AddType application/x-rar-compressed .rar
или
AddType application/rar .rar
что-то должно проканать
 
Re: Почему архив открывается в броузере?

Originally posted by nl2br

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

PHP:
header("Content-type: application/rar"); 
header("Content-Disposition: attachment; filename=_имя_файла_.rar");
 
код изменил на
Код:
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);
под всеми броузерами.
 
Сверху