PHP:获取当前目录名

时间:2016-02-18 13:39:17

标签: php directory

我有一个返回当前文件夹名称的函数:

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

7 个答案:

答案 0 :(得分:5)

您只需要数组的最后一个元素:

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

答案 1 :(得分:3)

你可以使用;

echo getcwd();

这会在成功时返回当前工作目录,或者在失败时返回FALSE

答案 2 :(得分:2)

如前所述,您应该使用getcwd(),否则,您的函数将始终返回其所在的文件夹而不是当前的脚本目录。

您可以使用basename;

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

答案 3 :(得分:1)

这一小段代码为我做了。

ntva;

我刚拿到了我要找的文件夹的名称。

答案 4 :(得分: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>

答案 5 :(得分:0)

您应该能够使用预定义的常量

获取当前目录
__DIR__

相当于

dirname(__FILE__)

所以你应该使用

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

答案 6 :(得分:0)

只是将我的建议添加到此列表中。 如果您只想获取当前文件夹名称。您可以将 __DIR__basename()

结合使用
<?php $current_directory = basename(__DIR__); ?>

结构和返回内容的示例,如果将上述内容添加到file.php:

../directory-top/directory-sub/file.php 输出 > directory-sub