• ベストアンサー

PATH_INFOで「?」を含む文字列を受け取る方法

環境変数 PATH_INFOで「?」(クエスチョンマーク)を含む文字列を受け取りたいです。 例えば「hoge.php/test?abc」で $g = $_SERVER['PATH_INFO']; $g = substr($g, 1); echo $g; とすると「abc」と表示されてしまいます。 この際「test?abc」と表示させるには、どのようにすれば良いでしょうか。 宜しくお願いします。

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

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

>hoge.php/test?abc スラッシュと?で区切りをいれてパラメータを管理するってのは あんまりよいデータ渡しではないように思えますが・・・ たとえば、こんな感じでいかがでしょうか? <?PHP $g=str_replace($_SERVER["SCRIPT_NAME"]."/","",$_SERVER["REQUEST_URI"]); echo $g; ?>

nihaa
質問者

お礼

ありがとうございます。 これで、解決しました。

その他の回答 (1)

回答No.2

「test?abc」をURLエンコードして「test%3Fabc」にすれば表示されます。 URLエンコード後の文字列はPHPなら以下のようにすれば出力できます。 echo urlencode("test?abc");

参考URL:
http://wpedia.search.goo.ne.jp/search/704851/URL%A5%A8%A5%F3%A5%B3%A1%BC%A5%C9/detail.html?mode=0
nihaa
質問者

お礼

すこし意味が違うのですが・・・。 ありがとうございます。

関連するQ&A