Fusionar variable con cadena en archivo de configuración

24

Tengo la siguiente configuración en mi archivo conf

upload_set_form_field $upload_field_name.name "$upload_file_name";

Pero quiero cambiar el nombre del parámetro elegido a:

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

Entonces puedo obtener "adjunto [nombre]" pero esto no funciona. Estaría muy feliz si alguien pudiera ayudarme a fusionar variables con una cadena en el archivo de configuración nginx :).

Swistak
fuente

Respuestas:

38

Esto funciona:

set $foo = 'foo';
set $foobar "${foo}bar";
bk138
fuente
2
¡Esto funcionó para mí! Gracias. Hice esto:set $object "$1"; set $object "${object}Display";
Carl Bennett
4

Nginx no tiene un carácter de concatenación, sino que se basa en caracteres válidos e inválidos, por ejemplo, en la directiva:

try_files $uri $uri/ @fallback;

$ uri es la variable y / es una cadena para agregar ya que / no puede estar en un nombre de variable.

Del mismo modo deberías intentar

$upload_field_name[name] "$upload_file_name";

Si esto no funciona, intente.

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

Sin embargo, no puedo decir si el módulo de carga lo permitirá. Errores de sintaxis menores también pueden estar presentes.

Martin Fjordvald
fuente