我有一个返回当前文件夹名称的函数:
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
答案 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