Frage Variable mit String in der Konfigurationsdatei zusammenführen


Ich habe folgendes Setup in meiner Conf-Datei

upload_set_form_field $upload_field_name.name "$upload_file_name";

Aber ich möchte den gewählten Param Namen ändern zu:

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

So kann ich "Anhang [Name]" bekommen, aber das funktioniert nicht. Ich würde mich sehr freuen, wenn mir jemand beim Zusammenführen von Variablen mit String in nginx config file :) helfen könnte.


18
2018-06-17 17:13


Ursprung




Antworten:


Das funktioniert:

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

30
2017-12-03 14:52



Das hat für mich funktioniert! Vielen Dank. Ich tat dies: set $object "$1"; set $object "${object}Display"; - Carl Bennett


Nginx hat kein Verkettungszeichen, sondern basiert auf gültigen und ungültigen Zeichen, zum Beispiel in der Direktive:

try_files $uri $uri/ @fallback;

$ uri ist die Variable und / ist eine anzuhängende Zeichenfolge, da / nicht in einem Variablennamen enthalten sein kann.

Ähnlich sollten Sie es versuchen

$upload_field_name[name] "$upload_file_name";

Wenn das nicht funktioniert, versuchen Sie es.

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

Ich kann nicht sagen, ob das Upload-Modul dies sogar erlaubt. Geringfügige Syntaxfehler können ebenfalls vorhanden sein.


3
2018-06-17 21:24