Назад | Перейти на главную страницу

Слияние переменной со строкой в ​​файле конфигурации

У меня есть следующие настройки в моем файле conf

upload_set_form_field $upload_field_name.name "$upload_file_name";

Но я хочу изменить выбранное имя параметра на:

upload_set_form_field ($upload_field_name+"[name]") "$upload_file_name";

Итак, я могу получить «вложение [имя]», но это не работает. Я был бы очень рад, если бы кто-нибудь помог мне с объединением переменных со строкой в ​​конфигурационном файле nginx :).

Это работает:

set $foo = 'foo';
set $foobar "${foo}bar";

В Nginx нет символа конкатенации, он основан на допустимых и недопустимых символах, например, в директиве:

try_files $uri $uri/ @fallback;

$ uri - это переменная, а / - это строка, которую нужно добавить, поскольку / не может быть в имени переменной.

Точно так же вы должны попробовать

$upload_field_name[name] "$upload_file_name";

Если это не сработает, попробуйте.

set $foo [name];
$upload_field_name$foo "$upload_file_name";

Однако я не могу сказать, позволяет ли это модуль загрузки. Также могут присутствовать незначительные синтаксические ошибки.