как заставить браузер понять имя файла

Статус
В этой теме нельзя размещать новые ответы.

glam

Новичок
как заставить браузер понять имя файла

Наверное не совсем стандартный случай.
PHP:
  header("Location: " . rawurlencode($filename));
  header("Content-Disposition: attachment; filename=\"$filename\"\n");
Такое не срабатывает, потому что браузер в ответ на пересылку по локэйшену делает новый GET и про filename забывает :(
Что делать?

-~{}~ 31.10.07 06:39:

Насколько я понимаю, нужно как-то заставить апач отдать правильное имя файла - ведь отдачу файла делает уже апач.
 

Апокалипсис

тех дир matras.ru
Ман: [m]header[/m] смотреть примеры.
з.ы нге пойму при чём тут локейшен если ты собрался отдавать файл скриптом.
 

glam

Новичок
Pigmeich, в $filename имя русского файла. Не использовать русские имена не советовать.

Апокалипсис, header читал.
Отдавать файл собрался не скрпиптом, а апачем.

Поясняю. Привел 2 строки моего реального кода. В некоторой секретной папке лежит файл с русским именем. В общедоступной папке код генерирует символическую ссылку с таким же русским именем и посылает юзверя по этой ссылке, но естественно передаем в браузер имя rawurlencode.
Естественно
PHP:
header("Content-Disposition: attachment; filename=\"$filename\"\n");
уже не срабатывает - браузер после локэйшн делает новый запрос и получает ответ от апача. Браузер видит каля-баля из ссылки, на которую мы редиректнули - %C2%E8%EA и т.д.

Вопрос - как заставить апач послать заголовок с правильным именем файла?
 

SiMM

Новичок
> Не использовать русские имена не советовать.
http://www.faqs.org/rfcs/rfc2183.html
2.3 The Filename Parameter
Current [RFC 2045] grammar restricts parameter values (and hence Content-Disposition filenames) to US-ASCII. We recognize the great desirability of allowing arbitrary character sets in filenames, but it is beyond the scope of this document to define the necessary mechanisms. We expect that the basic [RFC 1521] `value' specification will someday be amended to allow use of non-US-ASCII characters, at which time the same mechanism should be used in the Content-Disposition filename parameter.
 

glam

Новичок
Всем спасибо, никто не помог. :)
Проблему реально решил, выкладывать решение не буду - зачем мне конкуренты? Только на моем сайте будет работать быстрая отдача через апач файлов с русскими именами - даже Фaнaт не знает решения.
За базар отвечаю.
 

glam

Новичок
Pigmeich, я сначала выложил решение. А потом понял, что его знают не так уж и много людей и отредактировал сообщение, убрал решение.
Что-то кому-то доказывать? Бесмысленно. Хотя в личку могу отписать решение г-ну SiMM (если он того захочет), его я уважаю.
Здесь не принято помогать - принято вы..ся и умничать. Ну что же, раз такие правила игры, навязанные модераторами. Кстати по поводу работы форума - на вопрос об антиличе все пишут "ф поиск", как мартышки одно и то же в один голос повторяют. Ну нет на форуме ответа, как сделать антилич!!! Бредятины с мод рирайт понаписали и прочей хрени, а там ровно 3 строчки кода, как сделать антилич. И никто не удосужится привести эти три строчки. И искать по всей сети, закачивать и устанавливать антиличи не стоит - я кстати смог найти крутой антилич, разобрался, настроил - но нах не нужен оказался. Оказывается там все просто.
Точно так же и с русскими именами файлов - все в один голос говорят - не делать. Потому что не знают, как сделать. Бились головой, вываливали кодом содержимое файла и слали заголовки. Потом с ростом посещаемости это стало неприемлемым, нагрузка бешеная, стали отдавать апачем - а он не может отдавать файлы с русскими именами - тогда все имена в транслит, юзверь скушает и нас..ть на него! Я прошел этот путь и потерял много времени благодоря некомпетентности местных "гуру". Ведь закопать голову в песок - не значит решить проблему. В силу кривизны рфиси и всего что с ним связано, + фрибсд, пхп, апача, фтипи и т.д. с русскими именами на всех этапах были проблемы. И все они РАЗРЕШИМЫ. Сейчас работает вся цепочка - от закачки на сервер, потом попадания данных о файле в базу и до скачки с сервера. Не слушайте что здесь говорят, ищите самостоятельно на других источниках - инфа для размышления есть, правда ответа готового нигде нет.
 

Фанат

oncle terrible
Команда форума
ищите самостоятельно на других источниках - инфа для размышления есть, правда ответа готового нигде нет.
золотые слова!
Я так понимаю, что тебя мы здесь больше не увидим? =)

и твое ужасно секретное знание с header set в .htaccess во временном каталоге с единственным симлинком на файл сойдет с тобой в могилу =)

-~{}~ 01.11.07 08:48:

хает - но уважает =)

-~{}~ 01.11.07 08:51:

а о том, что проблема restricts Filename parameter values to US-ASCII свелась у нашего пафосного обличителя к "каля-баля в локейшене" - об этом мы и говорить не будем. все же вокруг идиоты, а он один умный
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху