这就是我安排文件夹的方式:
--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}}但它似乎不起作用。
答案 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 '';
}