• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:stripslashesが効かない!?)

stripslashesが効かない!?

このQ&Aのポイント
  • PHP初心者の質問:get_magic_quotes_gpcがONの環境で、stripslashesが効かないのはなぜ?
  • PHPのget_magic_quotes_gpcがONになっている環境では、stripslashesが効かない場合がある。
  • POSTやGETで文字列を取得して処理する際、stripslashesが正常に動作しないことがある問題について

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

もしかして ini_set("magic_quotes_gpc",0); とすればいいだけなのかもしれませんが・・・ >stripslashes($no_magic); とりあえず $no_magic=stripslashes($no_magic); じゃないですか? ちなみにecho no_magic($test_get);で表示されるのは >C:\\test\\directory\\test.txt ではなく「C:\test\directory\test.txt」ですよね? これをstripslashesしちゃうと「C:testdirectorytest.txt」に なっちゃいますけどよろしいのでしょうか? ちなみにmagic_quotes_gpc は非推奨、5.4から削除なっているようですので できればphp.iniを編集して"0"にしておきたいですね。 http://www.php.net/manual/ja/info.configuration.php#ini.magic-quotes-gpc

Kazu_creator
質問者

お礼

ご回答ありがとうございます。 職場のサーバのため、勝手にiniを変更するわけにもいかないので、POSTの送信元と受信先の両方のファイルに「ini_set("magic_quotes_gpc",0);」を設定してみましたが、挙動に変化はないようでした(何かがブロックしているのでしょうか)。 でも、「stripslashes($no_magic);」を「$no_magic=stripslashes($no_magic);」に直したら、望んだ結果をえられました。 自分で言うのもなんですが、いかにも初心者的なミスをやっちゃいました。 今思えば、「stripslashes($no_magic);」の状態で、中途半端に動いていたのがかえって不思議ですね。 とにかく勉強になりました。ありがとうございました。

関連するQ&A