- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:stripslashesが効かない!?)
stripslashesが効かない!?
このQ&Aのポイント
- PHP初心者の質問:get_magic_quotes_gpcがONの環境で、stripslashesが効かないのはなぜ?
- PHPのget_magic_quotes_gpcがONになっている環境では、stripslashesが効かない場合がある。
- POSTやGETで文字列を取得して処理する際、stripslashesが正常に動作しないことがある問題について
- みんなの回答 (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
お礼
ご回答ありがとうございます。 職場のサーバのため、勝手にiniを変更するわけにもいかないので、POSTの送信元と受信先の両方のファイルに「ini_set("magic_quotes_gpc",0);」を設定してみましたが、挙動に変化はないようでした(何かがブロックしているのでしょうか)。 でも、「stripslashes($no_magic);」を「$no_magic=stripslashes($no_magic);」に直したら、望んだ結果をえられました。 自分で言うのもなんですが、いかにも初心者的なミスをやっちゃいました。 今思えば、「stripslashes($no_magic);」の状態で、中途半端に動いていたのがかえって不思議ですね。 とにかく勉強になりました。ありがとうございました。