如何从字符串中的路径获取最后一个目录

Ric*_*tar 46 php

我试图从存储在字符串中的路径中获取最后一个文件夹名称.

例如: Home/new_folder/test

result = test
Run Code Online (Sandbox Code Playgroud)

acm*_*acm 109

使用basename

basename('Home/new_folder/test');
// output: test
Run Code Online (Sandbox Code Playgroud)

作为回答爆炸的人的旁注:

要获取路径的尾随名称组件,您应该使用basename!如果你的路径是这样$str = "this/is/something/"end(explode($str));组合将失败.


Kel*_*Kel 17

你可以使用basename()函数:

$last = basename("Home/new_folder/test");
Run Code Online (Sandbox Code Playgroud)

  • +1 表示不使用字符串操作,并使用正确的工具来完成工作 (2认同)

Mat*_*den 8

您可以使用pathinfo - pathinfo

$pathinfo = pathinfo('dir/path', PATHINFO_DIRNAME);
$pathinfo = array_filter( explode('/', $pathinfo) );

$result = array_pop($pathinfo);
Run Code Online (Sandbox Code Playgroud)

这也将确保尾部斜杠并不意味着返回空字符串.


Ala*_*law 5

Explode 将字符串转换为数组,然后您可以选择该数组中的最后一个值作为结果。

$result = end((explode('/', $path)));
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试这个

echo basename(dirname(__FILE__));
Run Code Online (Sandbox Code Playgroud)

或这个

echo basename(dirname(__DIR__));
Run Code Online (Sandbox Code Playgroud)