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

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

例如:Home/new_folder/test

result = test

Rickstar asked 2020-08-10T07:47:50Z

11个解决方案

104 votes

使用基名

basename('Home/new_folder/test');

// output: test

作为对那些回答者的注释,爆炸式增长:

要获取路径的结尾名称部分,您应该使用basename!如果您的路径类似于$str = "this/is/something/",则end(explode($str));组合将失败。

acm answered 2020-08-10T07:48:04Z

17 votes

您可以使用basename()函数:

$last = basename("Home/new_folder/test");

Kel answered 2020-08-10T07:48:24Z

8 votes

您可以使用pathinfo-pathinfo

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

$pathinfo = array_filter( explode('/', $pathinfo) );

$result = array_pop($pathinfo);

这也将确保结尾的斜杠并不意味着返回空白字符串。

Matt Lowden answered 2020-08-10T07:48:48Z

4 votes

我知道这是一个老问题,但这会自动获取最后一个文件夹而不会混淆列表中的最后一个项目(可能是脚本),而不是实际的最后一个文件夹。

$url = pathinfo($_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME);

$url_var = explode('/' , $url);

$last_folder = end($url_var);

Ash501 answered 2020-08-10T07:49:08Z

3 votes

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

$result = end((explode('/', $path)));

Alan Whitelaw answered 2020-08-10T07:49:28Z

1 votes

$directory = 'Home/new_folder/test';

$path = explode('/',$directory);

$lastDir = array_pop($path);

Mark Baker answered 2020-08-10T07:49:44Z

1 votes

$path = explode('/', $yourPathVar);

// array_pop gives you the last element of an array()

$last = array_pop($path);

?>

Björn Kaiser answered 2020-08-10T07:49:59Z

1 votes

因此,您需要某种动态的东西在大多数时间都可以正常使用-也许是可重用的功能或其他东西。

通过$ _SERVER数据从Web服务器在请求中提供的数据中获取URI:$ _SERVER('REQUEST_URI')

从该URI中获取路径:parse_url($ _ SERVER ['REQUEST_URI'],PHP_URL_PATH))

从完整的URI提取路径后,basename()是获取最后目录的正确工具:basename(parse_url($ _ SERVER ['REQUEST_URI'],PHP_URL_PATH))

function lastPathDir() {

// get a URI, parse the path from it, get the last directory, & spit it out

return basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));

}

BradChesney79 answered 2020-08-10T07:50:34Z

1 votes

试试这个

echo basename(dirname(__FILE__));

或这个

echo basename(dirname(__DIR__));

MikeStr answered 2020-08-10T07:50:58Z

1 votes

你可以做

$baseUrl=basename('/path/to/site');

echo $baseUrl;

如果您的网址末尾有'/',则可以执行以下操作:

$url_to_array = parse_url('/path/to/site/');

$baseUrl = basename($url_to_array['path']);

echo $baseUrl;`

Shree Sthapit answered 2020-08-10T07:51:22Z

0 votes

这也适用于Windows环境,如果给定的路径以斜杠结尾,也可以使用。

function path_lastdir($p) {

$p=str_replace('\\','/',trim($p));

if (substr($p,-1)=='/') $p=substr($p,0,-1);

$a=explode('/', $p);

return array_pop($a);

}

countach answered 2020-08-10T07:51:43Z

php 截取www后面的目录,php-如何从字符串路径中获取最后一个目录相关推荐

  1. shell脚本中获取当前所在目录地址

    shell脚本中获取当前所在目录如下 #!/bin/bashwork_path=$(dirname $0) cd ${work_path} work_path=$(pwd) cd ${work_pat ...

  2. linux目录都是什么意思,linux中的基本的目录结构都是什么意思,初学者都应该有印象-tmp是什么文件...

    /bin 这个目录存放一些经常使用的命令 /boot 这个目录存放的是启动linux时使用的一些核心文件,包括一些连接文件和镜像文件 /dev 这个目录是存放linux的外部设备,在linux中访问设 ...

  3. 【Android 逆向】修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )

    文章目录 一.Android 逆向中需要经常修改的文件和目录 二.在 root 后的设备中获取 / 目录的 rw 权限后注意事项 1.不要随意执行 wipe 命令 2.不要随意执行 rm 命令 一.A ...

  4. 如何在两个目录中删除其中一个目录中同名文件

    2019独角兽企业重金招聘Python工程师标准>>> 假设现在有一个目录/mnt/data,还有另外一个目录/opt/data,需要删除/opt/data目录中和/mnt/data ...

  5. java web 获取根目录_javaweb中获取服务器端跟目录方法总结

    先说一下java工程下目录的获取的几种方法,有用的看客可以看一下: 1.new File("relative path").getAbsolutePath(); 2.System. ...

  6. java jar 目录_将Java类路径中的所有jar包括在一个目录中

    有没有一种方法可以将所有的jar文件包含在类路径的目录中? 我正在尝试java -classpath lib / *.jar :. my.package.Program,它无法找到当然在这些罐子里的类 ...

  7. 在python中获取当前工作目录可以通过_python-获取当前工作路径

    1.sys.argv[0] import sys print sys.argv[0]#获得的是当前执行脚本的位置(若在命令行执行的该命令,则为空) 运行结果(在python脚本中执行的结果): F:/ ...

  8. python如何另存文件_脚本将.py保存到文件中的另一个目录

    如果你能用另一个文件扩展名来保存它的话. 但是我想你想换个方向的备份对吗?这取决于你的编辑,现在大多数人都会这么做.在 但是你可以在你的文件中写一些类似的东西,它只是把它复制到你选择的一个目录中:im ...

  9. C#路径中获取文件全路径、目录、扩展名、文件名称

    常用函数 需要引用System.IO   直接可以调用Path的静态方法 1 class Program2 {3 static void Main(string[] args)4 {5 6 //获取当 ...

最新文章

  1. 物联网概念升级,万物互联来袭
  2. 如何ALL IN一场技术大会?
  3. NLP 训练及推理一体化工具(TurboNLPExp)
  4. Linux内核怎么优化,linux 内核该怎么优化
  5. 如何让DataGrid能够在客户端点击某一行的任意位置,而触发服务端的事件(Asp.net)...
  6. Hibernate的核心组件简单介绍
  7. 创办私营企业必做的16件事
  8. 圣诞节插画素材|设计师再忙也要看一看,没准可以帮助到你!
  9. 常见的php后门,有趣的PHP后门
  10. qj71c24n通讯实例_Q系列串行口通信模块用户参考手册QJ71C24N(基础篇).pdf
  11. 选择条件WD_SELECT_OPTIONS_20
  12. VBA版本获取ClientKey
  13. 从 SEC EDGAR 获取股东治理数据 (Shareholder Activism)
  14. 华为有线无线组网案例
  15. zzuli1728(数学期望,组合数)
  16. .hpp文件和.h文件的区别
  17. JavaScript 语言精粹读书笔记
  18. 上网痕迹检查 上网痕迹清除 硬盘使用时间 优盘使用时间
  19. sundancest201驱动_Toshiba Sundance ST201 based PCI Fast Ethernet Adapter 驱动程序下载——更新 Toshiba 软件...
  20. iBooks 翻书效果

热门文章

  1. 手把手教你安装 FastAdmin 到虚拟主机 (phpStudy)
  2. javascript中五种常见的DOM方法
  3. setsockopt()改善程序的健壮性
  4. linux 内核模块发送udp,在内核模块级缓冲UDP的问题(当然不是SOCKET编程了。)
  5. delete响应服务器,rest-RESTful-DELETE响应主体应包含什么
  6. 动态网站的技术路线_派康大会官方网站建设项目开通上线啦!
  7. python无法在终端运行程序_解决项目pycharm能运行,在终端却无法运行的问题
  8. 台达plc读取变频器电流案例_PLC模拟量信号数据转换过程
  9. ssh mysql环境搭建_Ubuntu下JDK+Tomcat+MySql环境的搭建
  10. junetxtdb.class.php,PHP-site