【问题标题】:How to get current PHP page name [duplicate]如何获取当前的 PHP 页面名称 [重复]
【发布时间】:2012-10-23 14:36:40
【问题描述】:

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

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

所以我想要类似的东西

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

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

【问题讨论】:

    标签: php


    【解决方案1】:

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

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

    【讨论】:

    • 如果 url 是 abc.php?blah=demoabc.php\a\b? 怎么办,因为我只需要 abc,php
    • 你会得到abc.php :)
    • 另外...您可以使用ucwords 或首字母ucfirst 替换.php 扩展名和连字符ucwords( str_ireplace(array('-', '.php'), array(' ', ''), basename($_SERVER['PHP_SELF']) ) ) 和大写单词。也许有人会需要这个......
    • 如果您不想要.php 扩展名,您可以使用basename($_SERVER['PHP_SELF'],'.php')
    • 如果不想要文件扩展名,也可以使用pathinfo(basename($_SERVER['PHP_SELF']), PATHINFO_FILENAME);
    【解决方案2】:

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

    所以

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

    应该这样做。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-18
        • 2023-04-01
        • 2010-11-19
        • 2012-05-17
        • 2011-06-17
        • 1970-01-01
        • 1970-01-01
        • 2011-01-15
        相关资源
        最近更新 更多