Php 如何检索给定路径的最后一部分?
我正在写目录列表,想知道最后一个目录的名称 例如:Php 如何检索给定路径的最后一部分?,php,string,Php,String,我正在写目录列表,想知道最后一个目录的名称 例如: /data/henry/files/gallery 我只想获取最后一个目录,即gallery 我尝试了substr('abcdef',1),但它是静态的 我有一个想法,将目录存储到数组中,然后检索最后一个值,但我如何才能做到这一点 编辑: 感谢@deceze提供的简单解决方案 我的解决方案较长,不推荐使用: $dirarray = explode("/",$row['source']); $total = count($dirarray);
/data/henry/files/gallery
我只想获取最后一个目录,即gallery
我尝试了substr('abcdef',1)
,但它是静态的
我有一个想法,将目录存储到数组中,然后检索最后一个值,但我如何才能做到这一点
编辑:
感谢@deceze提供的简单解决方案
我的解决方案较长,不推荐使用:
$dirarray = explode("/",$row['source']);
$total = count($dirarray);
$sharename = $dirarray[($total-1)];
使用正则表达式怎么样?假设文本位于
$text
变量中:
preg_match_all("|(/[a-z]+)$|", $text, $result);
$result
将包含/gallery
使用正则表达式怎么样?假设文本位于$text
变量中:
preg_match_all("|(/[a-z]+)$|", $text, $result);
$result
将包含/gallery
哇,太容易了!非常感谢。我找到了另一个解决方案,但它很长;这就是你应该做的。哇,太容易了!非常感谢。我找到了另一个解决方案,但它很长;这是您应该做的。这将不起作用,在更正打字错误后,它仍然不适用于/foo/bar baz
或/hello/from/pcre_world
编辑为正确格式并修复缺少的引号。但是basename()
仍然是一个更好的答案。PHP有很多函数用于这些常见的操作;不要总是认为你必须自己做。这是行不通的,更正打字错误后,它仍然不能与/foo/bar baz
或/hello/from/pcre_world
一起使用,编辑为正确格式并修复缺少的引号。但是basename()
仍然是一个更好的答案。PHP有很多函数用于这些常见的操作;不要总是认为你必须自己做。