Об'єднання змінної з рядком у конфігураційному файлі


24

У моєму конф-файлі є наступне налаштування

upload_set_form_field $upload_field_name.name "$upload_file_name";

Але я хочу змінити вибране ім'я парамуса на:

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

Тож я можу отримати "вкладення [ім'я]", але це не працює. Я був би дуже радий, якби хтось міг допомогти мені в об'єднанні змінних з рядком у nginx config файл :).

Відповіді:


38

Це працює:

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

2
Це працювало для мене! Спасибі. Я зробив це:set $object "$1"; set $object "${object}Display";
Карл Беннетт

4

Nginx не має символу конкатенації, скоріше він заснований на дійсних та недійсних символах, наприклад, у директиві:

try_files $uri $uri/ @fallback;

$ uri - це змінна та / є рядок, яку слід додати, оскільки / не може бути в імені змінної.

Аналогічно слід спробувати

$upload_field_name[name] "$upload_file_name";

Якщо це не працює, спробуйте.

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

Я не можу сказати, чи модуль завантаження навіть дозволить це. Можливі також незначні синтаксичні помилки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.