2012-10-23 28 views
82

Eventuali duplicati:
Get the current script file nameCome arrivare nome della pagina PHP corrente

Ho un file chiamato demo.php in cui non ho alcun GET variabili nell'URL, quindi se Voglio nascondere un pulsante se sono su questa pagina Non posso usare qualcosa del genere:

if($_GET['name'] == 'value') { 
    //Hide 
} else { 
    //show 
} 

Quindi voglio qualcosa come

$filename = //get file name 
if($filename == 'file_name.php') { 
    //Hide 
} else { 
    //show 
} 

Non voglio dichiarare le variabili non necessarie GET solo per fare questo ...

risposta

233

È possibile utilizzare basename() e $_SERVER['PHP_SELF'] per ottenere pagina corrente nome del file

echo basename($_SERVER['PHP_SELF']); /* Returns The Current PHP File Name */ 
+3

e se url è 'abc.php? Blah = demo' o' abc.php \ a \ b? 'Perché ho solo bisogno di abc, php –

+7

avrai' abc.php' :) –

+17

Inoltre .. È possibile sostituire l'estensione e i trattini '.php' ' ucwords (str_ireplace (array ('-', '.php'), array ('', ''), basename ($ _ SERVER ['PHP_SELF']))) ' e lettere maiuscole con' ucwords' o prima lettera usando 'ucfirst'. Forse qualcuno avrà bisogno di questo ... –

22

$_SERVER["PHP_SELF"]; vi darà il nome del file corrente e il suo percorso, ma basename(__FILE__) dovrebbe darvi il nome del file che viene chiamato da.

Così

if(basename(__FILE__) == 'file_name.php') { 
    //Hide 
} else { 
    //show 
} 

dovrebbe farlo.

Problemi correlati