目前我在PHP中遇到这个问题,我试图创建一个简单的网页,在shell中执行一些代码并显示运行的进程 我试图执行的代码就是这个
wmic -U User%Passwd //192.168.1.3 "select Caption from Win32_Process"
在shell中它正确执行(Ubuntu 14.04 LTS),但在PHP中,这些双斜杠被视为注释,就像在这段代码中一样
exec('wmic -U User%Passwd //'.$IP.' "select Caption from Win32_Process"',$exit);
但是,双正斜杠(//)正在评论代码的其余部分!
如何重写该代码,以便PHP将这些双斜杠解释为注释,但作为代码的一部分?
提前谢谢
答案 0 :(得分:0)
您需要使用反斜杠char /
转义斜杠\
char,因此您的新代码将是:
exec('wmic -U User%Passwd \/\/'.$IP.' "select Caption from Win32_Process"',$exit);
从PHP手册:
反斜杠字符有多种用途。首先,如果遵循它 通过非字母数字字符,它消除了任何特殊含义 那个角色可能有。这种反斜杠用作转义字符 适用于内部和外部字符类。
例如,如果要匹配“*”字符,则在其中写入“*” 模式。无论以下字符是否适用,这都适用 否则被解释为元字符,所以它总是安全的 在带有“\”的非字母数字前面指定它代表它 本身。特别是,如果你想匹配一个反斜杠,你写 “\”。