1

投稿内容は cmd commande line : move "D:\my 1.txt" "D:\my 2.txt"

私のphpコード:

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

間違った結果: move \"D:\my 1.txt\" \"D:\my 2.txt\"

4

3 に答える 3

2

PHP 構文では、'\' 文字が予約されています。コマンド内のバックスラッシュの前に別のバックスラッシュを追加することで上書きできます。たとえば、コマンドを作成しますmove "D:\\my 1.txt" "D:\\my 2.txt"stripslashesPHP に組み込まれている関数を使用することもできます。これにより、それらが有効な文字として指定され、PHP はそれらを無視します。

于 2013-10-28T01:34:23.040 に答える
1

関数を使用して、文字列からエスケープ スラッシュを削除できstripslashesます。

fwrite($mechat,stripslashes($_POST['mechat']));したがって、あなたの場合は、代わりに使用したいと思います。そうすれば、エスケープする必要のある文字がある場合、stripslashes 関数がそれを行い、正常に出力されるはずです。

于 2013-10-28T01:34:20.517 に答える