2015-01-09 60 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 ''; 
} 
相關問題