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


24

我的conf文件中有以下设置

upload_set_form_field $upload_field_name.name "$upload_file_name";

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

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

这样我就可以获取“ attachment [name]”,但这是行不通的。如果有人可以帮助我将变量与nginx配置文件中的字符串合并,我将非常高兴。

Answers:


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";

我不能说上传模块是否允许这样做。可能还会出现较小的语法错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.