Выдача файла пользователю на PHP
Нужно выдавать пользователю файл на скачивание.
Это уже реализовано по примеру из многих форумов:
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% рабочий во всех браузерах код.
Срок - чем раньше, тем лучше.