如何在PHP中获取父级的父级文件夹名称?(附示例)
获取父级的父级文件夹名称的PHP方法
好的,我来帮你搞定这个需求!从/var/www/test/test2/index.php里获取其父级的父级文件夹(也就是test)的名称,有几种简单可靠的PHP实现方式,我给你一一说明:
方法一:多次调用dirname() + basename()
这是最直观的方法,利用dirname()逐层向上获取父目录,再用basename()提取目录名称:
// 获取当前文件的绝对路径(魔术常量__FILE__会返回准确的文件路径) $currentFilePath = __FILE__; // 第一次调用dirname:得到当前文件的父目录 /var/www/test/test2 $parentDir = dirname($currentFilePath); // 第二次调用dirname:得到父目录的父目录 /var/www/test $grandParentDir = dirname($parentDir); // 提取该目录的名称 $grandParentFolderName = basename($grandParentDir); // 输出结果:test echo $grandParentFolderName;
方法二:拆分路径数组
把路径拆分成数组后,直接取对应位置的元素,适合需要灵活操作路径各部分的场景:
$currentFilePath = realpath(__FILE__); // realpath()可以规范路径,去除冗余分隔符 // 用系统目录分隔符拆分路径(兼容Windows和Linux) $pathSegments = explode(DIRECTORY_SEPARATOR, dirname(dirname($currentFilePath))); // 取数组最后一个元素就是目标文件夹名称 $grandParentFolderName = end($pathSegments); echo $grandParentFolderName; // 输出:test
小提示
__FILE__是PHP的魔术常量,无论脚本是被直接访问还是被包含,它都会返回当前文件的绝对路径,稳定性很高。- 如果你的路径可能存在相对路径或者冗余的
.//../,先用realpath()处理一下,能得到更规范的绝对路径。
内容的提问来源于stack exchange,提问作者Kevin Lindmark
相关产品推荐
相关产品推荐

