![将变量与配置文件中的字符串合并](https://linux22.com/image/516644/%E5%B0%86%E5%8F%98%E9%87%8F%E4%B8%8E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%90%88%E5%B9%B6.png)
我的配置文件中有以下设置
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 配置文件中的字符串合并,我会非常高兴 :)。
答案1
这有效:
set $foo = 'foo';
set $foobar "${foo}bar";
答案2
Nginx 没有连接字符,而是基于有效和无效字符,例如在指令中:
try_files $uri $uri/ @fallback;
$uri 是变量,/ 是需要附加的字符串,因为 / 不能出现在变量名中。
同样你应该尝试
$upload_field_name[name] "$upload_file_name";
如果这不起作用,那就尝试一下。
set $foo [name];
$upload_field_name$foo "$upload_file_name";
不过,我不确定上传模块是否允许这样做。还可能存在轻微的语法错误。