2013-05-13 27 views
9

Kullanıcının aşağıdaki sayfayı yüklemesini sağlayın: www.example.com/myDirectory/myPage.php?answer=yes
Ve bundan yararlanmak için PHP'yi myPage.php?answer=yes almak istiyorum. Ancak, basename($_SERVER['PHP_SELF']) yalnızca myPage.php değerini döndürür. Bunu nasıl yaparım?Geçerli parametreyi URL parametreleriyle al

+0

PHP parse_url() bir etki alanı, dosya ve değişkenler dizisi döndürür. – Dinesh

cevap

21

Sorgu dizesi ekleyebilirsiniz sonra gibi get o environment variable bir:

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

Bu, '/ myDirectory/myPage.phpanswer = yes' döndürür. MyPage.php? Answer = yes' istiyorum. – Mooseman

+0

@Mooseman '/' üzerinde patlayabilir ve elde edilen dizide son öğeyi – Ascherer

+0

whoops elde edebilirsiniz. şimdi düzeltildi. – Blazemonger

0
$_SERVER['QUERY_STRING'] 
: Hiçbir sorgu dizesinin olasılığı dikkate gerekiyorsa

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

, bir koşul testi eklemek

,

9

paramaterleri hakkında daha kolay mı?

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

Bilmiyorum ; bana söyle! –

1

Takip eden parametrelere sahip URL'ler için, aşağıdakiler geçerli URL'nin ilk bölümünü (örn. önce bölüm?) $ current_url [0] değişkeninde ve sonra yazdırın.

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