2012-01-25 70 views
0

我有任何網址與PHP擴展如:URL網頁名稱,沒有PHP的ID

http://localhost/test/admin/users.php 
http://localhost/test/admin/list.php 
http://localhost/test/admin/dates.php 

現在對於打印菜單(導航),我有這樣的:

$pagename = basename($_SERVER['PHP_SELF'], '.php') . ''; 

if ($pagename = "users") {echo "true";} else {} 

我的方法不起作用!如何獲取PHP頁面名稱?

感謝

回答

1

不正確IF:

if ($pagename == "users") {echo "true";} else {} 
+0

哦!你說得對。謝謝 –

4

您的if語句中使用==(或===),不=

您當前正在將字符串「用戶」分配給變量$pagename,因此總是計算爲true

+0

最好的方法是什麼? –

+0

我告訴過你,使用==比較$ pagename是否等於「users」。 –

+0

更好的方法是使用===,這樣您可以檢查變量的值和類型(1 === 1 TRUE,1 === 2 FALSE,「1」=== 1 FALSE) 。 – djot

0

您可以使用$_SERVER['REQUEST_URI']和解析值:

$self = pathinfo($_SERVER['REQUEST_URI'], PATHINFO_BASENAME); 
if($self == "users") 
    //do something 
else 
    //do something else 
0
function current_page_name() 
{ 
    $url = explode('/',$_SERVER['PHP_SELF']); 
    $current_url = $url[count($url)-1]; 
    return $current_url; 
} 
current_page_name(); 

Hope this will help you? 
1

嗨,你可以使用$ _ SERVER [ 'REQUEST_URI']和獲取文件名這樣

$self = pathinfo($_SERVER['REQUEST_URI'],PATHINFO_BASENAME); 
$self=explode('.',$self); 
    if($self[0]=="users"){ 
    do... 
    } 
    else{} 
+0

哦對不起,它必須是PATHINFO_BASENAME現在剛剛編輯 – Gopesh

0
function currentPageNameByURL() 
{ 
    $pageURL = 'http'; 
    if ($_SERVER["HTTPS"] == "on") 
    { 
     $pageURL .= "s"; 
    } 
    $pageURL .= "://"; 
    if ($_SERVER["SERVER_PORT"] != "80") 
    { 
     $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
    } 
    else 
    { 
     $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
    } 
    return $pageURL; 
}