sed不适用于PHP exec函数

sha*_*nuo 1 php sed

echo "sed -i 's/NULL/\\N/g' ".$_REQUEST['para'].".sql";
Run Code Online (Sandbox Code Playgroud)

以上陈述有效.但是当我在这样的exec中使用它时失败了......

exec("sed -i 's/NULL//\/\/\N/g' ".$_REQUEST['para'].".sql");
Run Code Online (Sandbox Code Playgroud)

Amn*_*non 5

您应该使用反斜杠转义反斜杠,而不是使用正斜杠,如下所示:

exec("sed -i 's/NULL/\\\\N/g' ".$_REQUEST['para'].".sql");
Run Code Online (Sandbox Code Playgroud)

编辑我写的答案没有看代码实际做了什么.不要这样做,因为$_REQUEST['para']可以是用户想要的,可以用于代码注入.正如另一个答案建议的那样使用PHP函数.