Выдача файла пользователю на PHP

Евгений21 год в сервисе
Данные заказчика будут вам доступны после подачи заявки
04.07.2009

Нужно выдавать пользователю файл на скачивание.

Это уже реализовано по примеру из многих форумов:

header('Content-type: application/octet-stream');

header('Accept-Ranges: bytes');

header('Content-Length: '.filesize($User_F_Dir.'/'.$Downloaded_File));

header('Content-Disposition: attachment; filename="'.$Downloaded_File.'"');

readfile($User_F_Dir.'/'.$Downloaded_File);

У этого метода есть 2 проблемы:

1. При использовании оперы предлагается сохранить файл с расширением html.

2. При скачивании файла в IE, появляется диалог windows:

открыть или сохранить.

Если выбираем "Сохранить" - все в порядке, файл скачивается, а потом открывается.

А при выборе "Открыть" - файл не открывается, например, word пишет:

"файл не найден". Блокнот пишет: не удается найти файл и указывает путь в папке временных файлов windows. Видимо, есть проблема сохранения файла туда?

А при открывании фалов в Интернете по прямым ссылкам - такой проблемы нет.

Типы файлов, которые нужно открывать:

«docx», «rtf», «xls», «xslx», «chm», «htm», «html», «txt», «gif», «jpg», «png», «bmp», «zip», «rar», «7z»

Далее могут быть добавлены и другие типы...

Жду ваших предложений.

Мне нужен 100% рабочий во всех браузерах код.

Срок - чем раньше, тем лучше.

Заявки фрилансеров