19

I the have following setup in my conf file

upload_set_form_field $upload_field_name.name "$upload_file_name";

But I want change chosen param name to:

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

So I can get "attachment[name]" but this doesn't work. I would be very happy if someone could help me with merging variables with string in nginx config file :).

31

This works:

set $foo = 'foo';
set $foobar "${foo}bar";
  • 2
    This worked for me! Thanks. I did this: set $object "$1"; set $object "${object}Display"; – Carl Bennett Dec 4 '15 at 19:48
3

Nginx does not have a concatenation character, rather it's based on valid and invalid characters, for instance in the directive:

try_files $uri $uri/ @fallback;

$uri is the variable and / is a string to append since / cannot be in a variable name.

Similarly you should try

$upload_field_name[name] "$upload_file_name";

If this doesn't work then try.

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

I cannot say if the upload module will even allow this, though. Minor syntax errors might also be present.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.