根据文件夹文件名</title>更改<title>标签

时间:2015-01-09 21:28:34

标签: php

这就是我安排文件夹的方式:

--Page -
       |--admin--
       |         |-->functions.php
       |
       |--movie--
       |         | --> movie.php
       |
       |-->index.php

我拥有functions.php中的所有函数,这是“标题”函数:

//CHANGE PAGE <title> TAG
function title($text = __DIR__)
{
    $title = basename($text);
    $title = ucwords(str_replace($title,$title,$title));
    return $title;
}

这个页面是movie.php里面的电影文件夹:

<!DOCTYPE html>
<head>
     <title><?php echo title(); ?></title>
</head>

结果输出为admin。我需要输出为movie。如您所见,标题显示“admin”文件夹,而不是“movie”文件夹。

如果我使用title更改movie.php中title标签内的title(__DIR__)函数,它可以正常工作,但我想在__DIR__内部title()内写function title($text =__DIR__)函数,这就是为什么当我创建我写的标题函数时:{{1}}但它似乎不起作用。

2 个答案:

答案 0 :(得分:0)

它返回admin,因为调用的函数位于manage.php里面,该文件位于admin文件夹中

而不是功能只是这样做:

<title><?php echo basename(__DIR__); ?></title>

答案 1 :(得分:0)

我不知道是否会推荐这个,但您可以使用debug_backtrace来获取调用该函数的文件的完整路径,并提取它所在的文件夹。

function title() {
    //Get the backtrace, limited to one calling function.
    $backtrace = debug_backtrace( null, 1 );
    //Sanity check, just to be safe.
    if ( isset( $backtrace[0]['file'] ) ) {
        return basename( dirname( $backtrace[0]['file'] ) );
    }
    return '';
}