web-dev-qa-db-ja.com

設定ファイルで変数と文字列をマージする

私は私の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設定ファイル内の文字列と変数をマージするのを手伝ってくれれば幸いです:).

27
Swistak

これは機能します:

set $foo = 'foo';
set $foobar "${foo}bar";
41
bk138

Nginxには連結文字がありません。たとえば、ディレクティブの有効文字と無効文字に基づいています。

try_files $uri $uri/ @fallback;

$ uriは変数であり、/は/を変数名に含めることができないため、追加する文字列です。

同様にあなたは試してみるべきです

$upload_field_name[name] "$upload_file_name";

これが機能しない場合は、試してください。

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

ただし、アップロードモジュールがこれを許可するかどうかはわかりません。軽度の構文エラーも存在する可能性があります。

4