将变量与配置文件中的字符串合并

Swi*_*tak 34 configuration nginx

我在我的 conf 文件中有以下设置

upload_set_form_field $upload_field_name.name "$upload_file_name";
Run Code Online (Sandbox Code Playgroud)

但我想将选择的参数名称更改为:

upload_set_form_field ($upload_field_name+"[name]") "$upload_file_name";
Run Code Online (Sandbox Code Playgroud)

所以我可以得到“附件[名称]”,但这不起作用。如果有人可以帮助我将变量与 nginx 配置文件中的字符串合并,我会很高兴:)。

小智 49

这有效:

set $foo = 'foo';
set $foobar "${foo}bar";
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用!谢谢。我这样做了:`set $object "$1"; set $object "${object}Display";` (3认同)

Mar*_*ald 5

Nginx 没有连接字符,而是基于有效和无效字符,例如在指令中:

try_files $uri $uri/ @fallback;
Run Code Online (Sandbox Code Playgroud)

$uri 是变量, / 是要附加的字符串,因为 / 不能在变量名中。

同样你应该尝试

$upload_field_name[name] "$upload_file_name";
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,请尝试。

set $foo [name];
$upload_field_name$foo "$upload_file_name";
Run Code Online (Sandbox Code Playgroud)

不过,我不能说上传模块是否允许这样做。也可能存在轻微的语法错误。