ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: Переменная с именем файла



Здравствуйте, Валентин.

>> > Делается запрос к http://site.ru/path/file.ext?arg=value .
>> > 
>> > Скажите пожалуйста, в какой внутренней переменной nginx-а будет
>> > храниться имя файла с расширением, т.е. "file.ext" .
>> > 
>> > $request_filename  хранит  путь,  а  мне  нужно только имя файла. Хочу
>> > выдать заголовок через add_header примерно так:
>> > 
>> > add_header      Content-Disposition 'attachment; filename="Prefix
>> > $filename"';
>> 
>> попробовал как временное решение так:
>> 
>>         map $request_filename $filename {
>>                 default "";
>>                 "~*([^/]+)\.(gif|jpe?g|png).*?$" " $1.$2";
>>         }
>> 
>> и сделал запрос к site.ru/path/1.png.
>> 
>> в $filename записалось " $1.$2"  вместо ожидаемых " 1.png" . Что я
>> сделал не так?

>  1. В правой части можно использовать только одну переменную или строку.
>  2. Позиционные выделения в map не поддерживаются.

> Правильно:

>   map $request_filename $filename {
>       default "";
>       "~*(?<fn>[^/]+\.(?:gif|jpe?g|png))$" $fn;
>   }


Спасибо. Заработало. Жаль справа надо писать $fn без кавычек. Если
взять в кавычки, что значение не подставляется.

И, кстати, переменно с именем файла и расширением и вправду нет?

-- 
С уважением,
 Михаил                          mailto:postmaster@xxxxxxxxxxxxx

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.