我正在编写一个用于获取不同数据库查询的函数。现在一切都很顺利,但只需要从定义的路径中获取最后一个目录名。
$qa_path=site_root('/learnphp/docs/');
我想从上面的路径中仅获取docs
。这里,site_root不过是$_SERVER['DOCUMENT_ROOT']
,那么我该如何仅获取docs
?
谢谢
我正在编写一个用于获取不同数据库查询的函数。现在一切都很顺利,但只需要从定义的路径中获取最后一个目录名。
$qa_path=site_root('/learnphp/docs/');
我想从上面的路径中仅获取docs
。这里,site_root不过是$_SERVER['DOCUMENT_ROOT']
,那么我该如何仅获取docs
?
谢谢
最简单的方法是使用basename($yourpath)
,你可以在这里看到:http://php.net/basename
如果您的字符串以文件结尾,例如:
提供的答案将无效。basename('/home/mypath/test.zip');
提供
test.zip
所以如果您的字符串包含文件,则不要忘记先使用 dirname 对其进行处理。
basename(dirname('/home/mypath/test.zip'));
给予
mypath
这是最简单的方法:
<?php
echo basename(getcwd());
?>
getcwd()函数可以获得当前工作目录的完整路径,而basename()函数则可以获得最后一个目录的名称。
explode('/', '/learnphp/docs/')
将字符串拆分为数组位置,然后获取最后一个位置。更多信息请参见:http://php.net/manual/en/function.explode.php。$qa_path=explode('/', '/learnphp/docs/');
echo $qa_path[2]; // output docs
您可以使用这个简单的代码片段:
$qa_path=site_root('/learnphp/docs/');
$qa_path = explode("/", $qa_path);
$qa_path = $qa_path[count($qa_path) - 1];
这将有所帮助
$qa_path=site_root('/learnphp/docs/');
$q_path = explode ("/", $qa_path);
$lastV = end($q_path);
echo basename(dirname(__FILE__));