我有一个变量,该变量中包含\n
,空格和其他符号,并在我的代码中引起错误(注意:未定义的偏移量:0)。
我正在尝试通过API更新我的MikroTik路由器上的终端注释,但是当注释变量具有多行和\ n等时,它将导致其余代码无法正常工作并给我错误。
我该如何解决?
我的代码:
$config['routeros']['note'] = "\
\n ------------------------------------------------------------\
\n Warning! This device is secured by\
\n _____ ____ _ \
\n / ____| | _ \\ | |\
\n | | __ _ __ ___ ___ _ __ | |_) | __ _ _ __ __| |\
\n | | |_ || '__|/ _ \\ / _ \\| '_ \\ | _ < / _` || '_ \\ / _` |\
\n | |__| || | | __/| __/| | | || |_) || (_| || | | || (_| |\
\n \\_____||_| \\___| \\___||_| |_||____/ \\__,_||_| |_| \\__,_|\
\n N E T W O R K S\
\n ------------------------------------------------------------\
\n \
\n Unauthorised access is prohibited and shall render the user \
\n liable to criminal and/or civil prosecution.";
print_r($ config);
的输出答案 0 :(得分:0)
使用heredoc。示例:
config['routeros']['note'] = <<< END
------------------------------------------------------------
Warning! This device is secured by\
_____ ____ _
/ ____| | _ \\ | |
| | __ _ __ ___ ___ _ __ | |_) | __ _ _ __ __| |\
| | |_ || '__|/ _ \\ / _ \\| '_ \\ | _ < / _` || '_ \\ / _` |
| |__| || | | __/| __/| | | || |_) || (_| || | | || (_| |\
\\_____||_| \\___| \\___||_| |_||____/ \\__,_||_| |_| \\__,_|
N E T W O R K S
------------------------------------------------------------
Unauthorised access is prohibited and shall render the user
liable to criminal and/or civil prosecution.
END;
答案 1 :(得分:0)
由于无法解决此问题,因此无法解决该问题,因此我现在提出了一个解决方案。我创建了一个检查路由器上文件的功能,如果存在,则跳过该功能,但是如果路由器上没有sys-note.txt
文件,它将启用ftp服务(如果禁用),然后上传{{1 }}文件从服务器到路由器,然后仅在禁用ftp时才再次禁用ftp。