如何用PHP编写反斜杠\和“在文本文件中

时间:2013-10-28 01:31:15

标签: php string post

发布内容为cmd命令行:移动“D:\ my 1.txt”“D:\ my 2.txt”

我的PHP代码:

if (!empty($_POST["mechat"])){
  $mechat = fopen("mechat","w"); 
  fwrite($mechat,$_POST['mechat']);
}

错误的结果:移动\“D:\ my 1.txt \”\“D:\ my 2.txt \”

3 个答案:

答案 0 :(得分:2)

PHP语法保留'\'字符。您可以在命令中的任何反斜杠之前添加另一个反斜杠来覆盖它。例如,创建命令move "D:\\my 1.txt" "D:\\my 2.txt"。您还可以使用PHP内置的stripslashes函数。这将它们指定为有效字符,PHP忽略它们。

答案 1 :(得分:2)

您的服务器上可能已启用magic quotes。它会在输入变量中引用字符之前自动添加\,以防止SQL注入。

使用它是no longer recommended,它随着PHP 5.3的发布而被弃用,并且从PHP 5.4开始被删除。您可以disable it或使用stripslashes功能从输入中删除转义字符。

答案 2 :(得分:1)

您可以使用stripslashes函数从字符串中删除转义斜杠。

因此,在您的情况下,您需要使用fwrite($mechat,stripslashes($_POST['mechat']));。这样,当你有需要转义的字符时,stripslashes函数会为你做这个,它应该输出正常。