Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Программирование »   PHP »   Заголовки для скачивания файла
RSS

Заголовки для скачивания файла

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: wsxПечать
 
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Некоторое время назад писал скрипт, который позволяет скачивать файл с сервера, и столкнулся со следующей проблемой: в броузере Opera имя файла передавалось некорректно (точнее, некорректно передавалось расширение файла — оно заменялось на .htm), особено часто это наблюдается при скачивании файла с нажатой клавишей Shift.
Как выяснилось, проблема заключается в следующем: Opera 9 (а может и более ранние) корректно воспринимает заголовок content-disposition только если он написан исключительно строчными буквами, а имя файла должно быть взято в кавычки.

В итоге вывод заголовка должен выглядеть примерно так:


        if (!$file[1]) header("Content-Type: application/octet-stream");

        else header("Content-Type: ".$file[1]);

        header("content-disposition: attachment; filename=\"".$file[2]."\"");        



(В $file[1] хранится тип файла, в $file[2] — его имя.)
Также рекомендуется применять на имя файла функцию urlencode, чтобы избежать проблем с русскими буквами или пробелами в имени файла. (У меня она применялась на этапе загрузки файла.)
Оффтопик: А еще лучше применять принудительную транслитерацию, русские имена файлов — это зло, от которого надо отучать пользователей.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
<<Назад  Вперед>>Модератор: wsxПечать
Объединенный Открытый Проект »   Программирование »   PHP »   Заголовки для скачивания файла
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.1875. Количество выполненных запросов: 18, время выполнения запросов 0.0117