Variable mit String in Konfigurationsdatei verschmelzen


24

Ich habe das folgende Setup in meiner Conf-Datei

upload_set_form_field $upload_field_name.name "$upload_file_name";

Aber ich möchte den gewählten Parameternamen ändern in:

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

Ich kann also "attachment [name]" bekommen, aber das funktioniert nicht. Ich würde mich sehr freuen, wenn mir jemand beim Zusammenführen von Variablen mit String in der Nginx-Konfigurationsdatei helfen könnte :).

Antworten:


38

Das funktioniert:

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

2
Das hat bei mir funktioniert! Vielen Dank. Ich tat dies:set $object "$1"; set $object "${object}Display";
Carl Bennett

4

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 ein String, der angehängt werden muss, da / nicht in einem Variablennamen enthalten sein darf.

Ebenso solltest du es versuchen

$upload_field_name[name] "$upload_file_name";

Wenn dies nicht funktioniert, versuchen Sie es.

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

Ich kann allerdings nicht sagen, ob das Upload-Modul dies überhaupt zulässt. Möglicherweise sind auch kleinere Syntaxfehler vorhanden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.