在PHP中获取文件名

时间:2008-11-17 20:31:36

标签: php

如何在PHP中获取文件的名称?我想要做的是让一个函数取一个文件名的字符串然后做一些东西,如果它实际上在页面上。

function onThisPageFunction(fileNameFromFunction)  
{  
  if(onThisPage == fileNameFromFunction)  
  {  
    do stuff  
  }  
}

5 个答案:

答案 0 :(得分:7)

有两个变量可以为您提供文件名。

例如:你将/test/test1.php称为url,test1.php包含test2.php。

__FILE__将为您提供执行代码的当前文件,在这种情况下它将返回“test2.php”

$_SERVER['PHP_SELF']将为您提供原始调用的完整网址,在本例中为“/test/test1.php”

请注意,您可以使用basename()函数从路径中获取文件名。

答案 1 :(得分:3)

如果我理解正确,您需要__FILE__

参考:http://php.net/manual/en/language.constants.predefined.php

答案 2 :(得分:0)

我想你想用:

_SERVER["PHP_SELF"]

例如:

    if (isset($_SERVER["PHP_SELF"]) AND  ($_SERVER["PHP_SELF"] == 'foo')){
echo 'do stuff';
}

威尔

答案 3 :(得分:0)

if (realpath($_SERVER['SCRIPT_NAME']) === __FILE__) {
    echo "Called directly";
}

也可以在命令行上运行。

答案 4 :(得分:0)

感谢您的回复。这就是最终为我做的工作。

function menuStrikethrough($pageName)
    {
        // get the name of the page we're on
        $fileName = basename($_SERVER['PHP_SELF']);

        // if fileName equals pageName then output css to show a strikethrough
        if($fileName == $pageName)
        {
            echo ' style="text-decoration:line-through" ';
        }
    }

我发现____FILE____对我不起作用,因为我在附带的文件中写了这个函数。

基本名称提示派上用场了。

感谢您的帮助!