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

no_santa

Снегур
Выдать файл пользователю

Файлы хранятся в директории, выше директории документов.

Вопрос 1 - как выдать файл клиенту, если не известен его mime? Т.е. "любой" файл.
Вопрос 2 - как выдать файл с неправильным, с точки зрения URL, именем?
 

no_santa

Снегур
HraKK как сформулировать запрос? Нашел кучу рекомендаций, но все mime-зависимо. Какие заголовки дать blend-файлу? svg-файлу (чтобы его корректно скушал IE)? Можно-ли сэмулировать директ линк, кроме непосредственного динамического создания символических ссылок? Не понимаю. Хелп, плиз!
 

Alexandre

PHPПенсионер
ответ 1 - прочитать имя файла скриптом и по расширению выдать миме
ответ 2 - как говорил мой учитель по черчению "Читайте ГОСТ" вернее RFC 1738
если в uri есть символы не алфавитно- цифровые, то они должны быть представлены в ASCII коде в начале которого должен стоять процент
это делает функция urlencode()

-~{}~ 16.04.09 02:20:

Нашел кучу рекомендаций, но все mime-зависимо.
отдавай application/octet-stream - универсальный заголовок для отдачи файлов для скачки
 

no_santa

Снегур
Alexandre респект, конечно, но до этого мы уже давно дошли. Вопрос - как отдать файл, не зная (и не желая знать) миме? Это вообще возможно?

Про урлы тоже респект, но тоже знам. Расширю вопрос - клиентская часть ERP работает браузерно на машинах под разными ОС. Файлы с пробелами и прочей лабудой в именах юзерам хочется загружать as is, и в том-же виде получать. Я им отдаю с %20 вместо пробелов, или пропускаю через свою транслитерирующую функцию, которая заменяет пробелы на _, убивает пунктуацию и т.д. - юзеры они громко и неприятно ругаются, и рассказывают как хорошо было файлами через разшаренную папку на бухгалтерской машине кидаться, пока я к ним не пришел...
Опять-же вопрос - возможно-ли хотя-бы эмулировать работу шары ОС ДАС Виндовоз, или что-то типа того для браузера? Допустим, я могу сохранять original file name в базе, но как отдать заголовки?

-~{}~ 16.04.09 02:27:

Автор оригинала: Alexandre
отдавай application/octet-stream - универсальный заголовок для отдачи файлов для скачки
Спасибо!!! То что надо. Это будет работать?

-~{}~ 16.04.09 02:44:

Интересно, а есть-ли смысл вообще экспериментировать, отдавая неправильное имя файла браузеру? Или для этого есть какой-нибудь специальный клиентский системный вызов?

Например, я могу в приказном порядке перевести клиентов на оперу или мозилллу?

Вообще, в есть-ли смысл искать и экспериментировать, как вы считаете?

-~{}~ 16.04.09 02:45:

Интересно, а есть-ли смысл вообще экспериментировать, отдавая неправильное имя файла браузеру? Или для этого есть какой-нибудь специальный клиентский системный вызов?

Например, я могу в приказном порядке перевести клиентов на оперу или мозилллу?

Вообще, в есть-ли смысл искать и экспериментировать, как вы считаете?
 

dimagolov

Новичок
no_santa, иди читать RFC по протоколу HTTP если способностей не хватает нагуглить какие заголовки надо отдавать вместе с файлом.
 
Сверху