2013-05-13 12 views
9

www.example.com/myDirectory/myPage.php?answer=yes
そして、私はmyPage.php?answer=yesを取得するためにPHPを使用したいと思います。ただし、basename($_SERVER['PHP_SELF'])myPage.phpのみを返します。どうすればいい?URLパラメータで現在のファイル名を取得

+0

PHP parse_url()は、ドメイン、ファイル、および変数の配列を返します。 – Dinesh

答えて

21

あなたはenvironment variableとしてgetそれをした後、クエリ文字列を追加することができます

$myurl = basename($_SERVER['PHP_SELF']) . "?" . $_SERVER['QUERY_STRING']; 

あなたがいないクエリ文字列の可能性を検討する必要がある場合は、条件テストの追加:

$myurl = strlen($_SERVER['QUERY_STRING']) ? basename($_SERVER['PHP_SELF'])."?".$_SERVER['QUERY_STRING'] : basename($_SERVER['PHP_SELF']); 
+0

これは '/ myDirectory/myPage.phpanswer = yes'を返します。私は 'myPage.php?answer = yes'が必要です。 – Mooseman

+0

@Moosemanあなたは '/'で爆発し、得られた配列の最後の要素を得ることができます – Ascherer

+0

whoops。今すぐ修正。 – Blazemonger

0
$_SERVER['QUERY_STRING'] 

はあなたにパラメタを与えます

9

それは簡単ですか:

basename($_SERVER['REQUEST_URI']) 
+1

私は知らない;教えてください! –

1

末尾のパラメータを持つURLの場合、次のように現在のURLの最初の部分が配置されます。前の部分?)を変数$ current_url [0]の中に置き、それを印刷します。

<? 
$current_url = explode("?", $_SERVER['REQUEST_URI']); 
echo $current_url[0] ; 
?> 
関連する問題