การผสานตัวแปรกับสตริงในไฟล์กำหนดค่า


24

ฉันมีการตั้งค่าต่อไปนี้ในไฟล์ conf ของฉัน

upload_set_form_field $upload_field_name.name "$upload_file_name";

แต่ฉันต้องการเปลี่ยนชื่อพารามิเตอร์ที่เลือกเป็น:

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

ดังนั้นฉันสามารถได้รับ "สิ่งที่แนบมา [ชื่อ]" แต่มันไม่ทำงาน ฉันจะมีความสุขมากถ้ามีคนช่วยฉันด้วยการรวมตัวแปรกับสตริงในไฟล์ config nginx :)

คำตอบ:


38

งานนี้:

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

2
สิ่งนี้ได้ผลสำหรับฉัน! ขอบคุณ ฉันทำสิ่งนี้:set $object "$1"; set $object "${object}Display";
Carl Bennett

4

Nginx ไม่มีอักขระการต่อข้อมูล แต่ขึ้นอยู่กับอักขระที่ถูกต้องและไม่ถูกต้องเช่นใน directive:

try_files $uri $uri/ @fallback;

$ uri เป็นตัวแปรและ / เป็นสตริงที่จะผนวกเนื่องจาก / ไม่สามารถอยู่ในชื่อตัวแปรได้

ในทำนองเดียวกันคุณควรลอง

$upload_field_name[name] "$upload_file_name";

หากวิธีนี้ใช้ไม่ได้ให้ลอง

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

ฉันไม่สามารถพูดได้ว่าโมดูลอัปโหลดจะอนุญาตให้ทำเช่นนี้ อาจมีข้อผิดพลาดทางไวยากรณ์เล็กน้อย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.