2016-02-18 101 views
0

我有一個返回當前文件夾名稱的函數:PHP:獲取當前目錄名

function the_page_title() 
{ 
    $page_name = dirname(__FILE__); 
    $each_page_name = explode('/', $page_name); 
    $len_page_dir = count($each_page_name); 
    $c_i_p_n = 0; 
    while($len_page_dir != $c_i_p_n) 
    { 
     $c_i_p_n++; 
    } 
    echo $each_page_name[$c_i_p_n]; 
} 

然而,這將返回什麼$page_name持有,而不是我目前在該文件夾

當我print_r($each_page_name)我得到這個:

Array ([0] => [1] => home [2] => kyleport [3] => public_html [4] => inc) /home/kyleport/public_html/inc

任何人都可以點我在正確的方向,因爲我不知道哪裏這是錯誤的:(謝謝你!

在這種情況下,我希望它顯示inc

+1

更好的轉彎警告上。我懷疑你會看到更多的線索。 – apokryfos

回答

4

你只是想一個數組的最後一個元素:

$page_name = dirname(__FILE__); 
$each_page_name = explode('/', $page_name); 
echo end($each_page_name); 
0

我定我的代碼:

function the_page_title() 
{ 
    $page_name = getcwd(); // getcwd() gets the directory of the file you call the function from 
    $each_page_name = explode('/', $page_name); 
    $len_page_dir = count($each_page_name) -1; 
    return $each_page_name[$len_page_dir]; 
} 

使用:

<title><?php echo the_page_title(); ?></title> 
+0

而不是通過寫在新的答案顯示答案,你應該使用該答案旁邊的勾號。 – worldofjr

+0

明天我不能接受我的答案,我通常會這麼做...... @worldofjr – KDOT

0

你應該能夠與預定義的常量

__DIR__ 

這是獲取當前目錄的

dirname(__FILE__) 

相當於所以你應該使用

$each_page_name = explode('/', __DIR__); 
$dir = end($each_page_name); 
echo $dir; 
3

可以使用;

echo getcwd(); 

這成功返回當前工作目錄,或FALSE失敗。

2

如前所述,您應該使用getcwd(),否則,您的函數將始終返回它所在的文件夾而不是當前腳本目錄。

而不是爆炸,你可以使用basename;

function the_page_title() 
{ 
    $page_name = getcwd(); // current script folder 
    return basename($page_name); 
} 
<title><?php echo the_page_title(); ?></title>