如何获取当前的PHP页面名称

Ran*_*Guy 105 php

可能重复:
获取当前脚本文件名

我有一个文件demo.php,我在URL中没有任何GET变量,所以如果我想隐藏一个按钮,如果我在这个页面上,我不能使用这样的东西:

if($_GET['name'] == 'value') {
  //Hide
} else {
  //show
}
Run Code Online (Sandbox Code Playgroud)

所以我想要类似的东西

$filename = //get file name
if($filename == 'file_name.php') {
  //Hide
} else {
  //show
}
Run Code Online (Sandbox Code Playgroud)

我不想仅仅因为这样做而声明不必要的GET变量......

Mr.*_*ien 292

您可以使用basename()$_SERVER['PHP_SELF']获取当前页面文件名

echo basename($_SERVER['PHP_SELF']); /* Returns The Current PHP File Name */
Run Code Online (Sandbox Code Playgroud)

  • 另外......你可以替换`.php`扩展名和连字符`ucwords(str_ireplace(array(' - ','.php'),array('',''),basename($ _ SERVER ['PHP_SELF']] )))`和'ucwords`或使用`ucfirst`的第一个字母大写单词.也许有人需要这个...... (19认同)
  • 如果你不想要`.php`扩展名,你可以使用`basename($ _ SERVER ['PHP_SELF'],'.php')` (9认同)
  • 你会得到`abc.php` :) (7认同)
  • 如果url是'abc.php?blah = demo`或`abc.php\a\b?`因为我只需要abc,php (4认同)

小智 27

$_SERVER["PHP_SELF"];将为您提供当前文件名及其路径,但basename(__FILE__)应该为您提供从中调用的文件名.

所以

if(basename(__FILE__) == 'file_name.php') {
  //Hide
} else {
  //show
}
Run Code Online (Sandbox Code Playgroud)

应该这样做.


Bog*_*rym 10

在你的情况下,你可以使用__FILE__变量!
它应该有所帮助.
它是预定义的之一.
阅读PHP中预定义常量的更多信息http://php.net/manual/en/language.constants.predefined.php