2013-10-28 70 views
1

帖子內容是CMD COMMANDE行:招 」d:\我的1.txt「 」d:\我的2.txt「如何寫一個反斜槓和「用PHP的文本文件

我的PHP代碼:

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

錯誤的結果:移動\ 「d:\我的1.txt \」 \ 「d:\我的2.txt \」

回答

1

您可以刪除逃避使用stripslashes功能串斜槓。

所以在你的情況下,你想要使用改爲。這樣,當你有需要轉義的字符時,stripslashes函數會爲你做到這一點,它應該輸出很好。

+0

謝謝你!的fwrite($ mechat,的stripslashes($ _ POST [ 'mechat']));工作很好! – bestyasser

2

PHP語法保留'\'字符。您可以通過在命令中反斜槓之前添加另一個反斜槓來覆蓋它。例如,使命令move "D:\\my 1.txt" "D:\\my 2.txt"。您也可以使用PHP內置的stripslashes函數。這將它們指定爲有效字符,PHP將忽略它們。

2

可能magic quotes在您的服務器上啓用。它會在輸入變量中的引號字符前自動添加\以防止SQL注入。

它是no longer recommended使用它,它已被PHP 5.3的發佈棄用,並從PHP 5.4中刪除。您可以使用disable it或使用stripslashes函數從輸入中刪除轉義字符。