如何在PHP中获取文件的名称?我想要做的是让一个函数取一个文件名的字符串然后做一些东西,如果它实际上在页面上。
function onThisPageFunction(fileNameFromFunction)
{
if(onThisPage == fileNameFromFunction)
{
do stuff
}
}
答案 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____
对我不起作用,因为我在附带的文件中写了这个函数。
基本名称提示派上用场了。
感谢您的帮助!