Fusion de la variable avec une chaîne dans le fichier de configuration


24

J'ai la configuration suivante dans mon fichier conf

upload_set_form_field $upload_field_name.name "$upload_file_name";

Mais je veux changer le nom du paramètre choisi en:

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

Je peux donc obtenir "pièce jointe [nom]" mais cela ne fonctionne pas. Je serais très heureux si quelqu'un pouvait m'aider à fusionner des variables avec une chaîne dans le fichier de configuration nginx :).

Réponses:


38

Cela marche:

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

2
Cela a fonctionné pour moi! Merci. Je l'ai fait:set $object "$1"; set $object "${object}Display";
Carl Bennett

4

Nginx n'a pas de caractère de concaténation, il est plutôt basé sur des caractères valides et invalides, par exemple dans la directive:

try_files $uri $uri/ @fallback;

$ uri est la variable et / est une chaîne à ajouter car / ne peut pas être dans un nom de variable.

De même, vous devriez essayer

$upload_field_name[name] "$upload_file_name";

Si cela ne fonctionne pas, essayez.

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

Cependant, je ne peux pas dire si le module de téléchargement le permettra. Des erreurs de syntaxe mineures peuvent également être présentes.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.