2015-01-09 33 views
0

这是我本来安排的文件夹:变化<title>标签基于文件夹的文件名

--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”文件夹作为结果,而不是“电影”文件夹。

如果我改变title功能标题标签中的movie.php与title(__DIR__),它的工作原理,但我想这样做,如果没有title()函数内部写__DIR__,这就是为什么当我创建标题功能我写道:function title($text =__DIR__)但似乎并不奏效。

+0

你必须通过'__DI R__'英寸这是一个静态的文件。 – 2015-01-09 21:30:33

+2

它返回管理,因为functions.php是在admin文件夹内 – Neat 2015-01-09 21:30:45

+0

@ DanielA.White你是对的,但是如果有一种方法可以在函数内部写入__DIR__而具有相同的标题(__ DIR__)结果吗? – 2015-01-09 21:33:06

回答

0

它返回管理员,因为调用的函数里面的functions.php这是管理文件夹

而不是里面的功能只是这样做:

<title><?php echo basename(__DIR__); ?></title> 
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 ''; 
} 
相关问题