2016-02-18 8 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> 
Смежные вопросы