提问人:Code Lover 提问时间:1/12/2013 最后编辑:Till HelgeCode Lover 更新时间:3/12/2017 访问量:29676
PHP:从路径获取最后一个目录名称
PHP: Get last directory name from path
问:
我正在编写一个函数来获取一些不同的数据库查询。现在一切进展顺利,但只需要从定义的路径中获取最后一个目录名称。
$qa_path=site_root('/learnphp/docs/');
我只想从上面的路径得到。在这里site_root只不过是那么我怎么能只得到呢?docs
$_SERVER['DOCUMENT_ROOT']
docs
谢谢
答:
35赞
Till Helge
1/12/2013
#1
最简单的方法是使用,如您在此处看到的那样: http://php.net/basenamebasename($yourpath)
评论
0赞
Code Lover
1/12/2013
啊,这是我找到的最简单的解决方案。只是快速提问,如果会有 3 或 4 个子级别的方向,它还会得到最后一个目录名称吗?
0赞
Till Helge
1/12/2013
是的。始终是任何路径的姓氏部分。不管它有多深。它将返回最深的目录或文件名(如果存在)。
0赞
Code Lover
1/12/2013
这是完美的,你的答案值得被选中。多谢。
2赞
C0D3
1/12/2013
#2
尝试将字符串拆分为数组位置。然后获取最后一个位置。explode('/', '/learnphp/docs/')
这是更多信息: http://php.net/manual/en/function.explode.php
评论
0赞
crush
1/12/2013
不值得投反对票,因为它是一个有效的解决方案:只是不是最好的解决方案。
0赞
Mattt
1/12/2013
这是一个有效的答案。它不应该被否决,因为你认为可能有一个“更好”的方法。
0赞
C0D3
1/12/2013
谢谢。是的,basename 似乎是一种“更好”的方式,但这也应该有效:)
0赞
Oldskool
1/12/2013
详细说明反对票:这本身不是一个答案,这将返回一个数组对象,该对象必须使用其他逻辑进行处理,该逻辑未提供。也有类似的答案确实提供了这点逻辑。
0赞
C0D3
1/12/2013
如果您的数组称为 $result.$result[$count($result)-1];
1赞
wezzy
1/12/2013
#3
您可以使用以下简单代码段:
$qa_path=site_root('/learnphp/docs/');
$qa_path = explode("/", $qa_path);
$qa_path = $qa_path[count($qa_path) - 1];
评论
0赞
Code Lover
1/12/2013
这不会给出任何输出
0赞
wezzy
1/13/2013
你是对的,因为字符串末尾的“/”,请尝试使用 Till Helge Helwig 建议的 basename() 方法,这是一个更聪明的解决方案
1赞
outman
1/12/2013
#4
$qa_path=explode('/', '/learnphp/docs/');
echo $qa_path[2]; // output docs
评论
0赞
Code Lover
1/12/2013
但是,如果路径中有三个以上的目录怎么办。此数组将始终获取第二个数字目录。正确?
0赞
Code Lover
1/12/2013
因此,例如,如果其他人使用此功能,那么他们必须手动进行修改。这并不理想。我想要一些解决方案,它将自动获取最后一个目录
1赞
outman
1/12/2013
@wezzy说的一样 $qa_path = $qa_path[count($qa_path) - 1];
1赞
Ankit Agrawal
1/12/2013
#5
这将对你有所帮助
$qa_path=site_root('/learnphp/docs/');
$q_path = explode ("/", $qa_path);
$lastV = end($q_path);
32赞
mattspain
11/6/2014
#6
如果字符串末尾包含文件,则提供的答案不起作用,例如:
basename('/home/mypath/test.zip');
给
test.zip
因此,如果你的字符串包含文件,请不要忘记先对其进行 dirname
basename(dirname('/home/mypath/test.zip'));
给
mypath
1赞
Pablo S G Pacheco
8/14/2015
#7
这将为您提供当前目录名称:
echo basename(dirname(__FILE__));
6赞
Kapilnemo
3/12/2017
#8
这是最简单的方法:
<?php
echo basename(getcwd());
?>
getcwd() = 提供完整的目录路径 basename() = 给你最后一个目录
下一个:视频流网站开发 [已关闭]
评论