web-dev-qa-db-ja.com

URLパラメータを使用して現在のファイル名を取得する

ユーザーが次のページを読み込んでいるとします:_www.example.com/myDirectory/myPage.php?answer=yes_
そして、PHPを使用してそこから_myPage.php?answer=yes_を取得したいのですが、basename($_SERVER['PHP_SELF'])は_myPage.php_のみを返します。それを行う?

9
Mooseman

get it as environment variable :の後にクエリ文字列を追加できます。

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

クエリ文字列がない可能性を考慮する必要がある場合は、条件付きテストを追加します。

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

それは容易です?:

basename($_SERVER['REQUEST_URI'])
9
Gökalp Turan

末尾にパラメータがあるURLの場合、以下は現在のURLの最初の部分(つまり、?の前の部分)を変数$ current_url [0]内に配置し、それを出力します。

<?
$current_url = explode("?", $_SERVER['REQUEST_URI']);
echo $current_url[0] ;
?>
1
Shiv Singh
$_SERVER['QUERY_STRING']

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

0
draxxxeus