如何使用php从路径获取倒数第二个文件夹名称?

问题描述

路径:

Home/gallery/Images/Mountains

此路径中的最后一个文件名称 Mountains (山),倒数第二个文件名称图片


我想显示输出

Last folder: Mountains
Second last folder: Images

是否可以使用 substr 或其他任何方式。有人可以给我答案吗?谢谢

解决方法

只需2个小步骤:​​

  1. 由“ /”分隔
  2. 获取数组的最后2个项目
$path = "Home/Gallery/Images/Mountains";
$parts = explode("/",$path);
$folders = array_slice($parts,-2);

然后,您将在$folders数组中拥有两个文件夹

我强烈建议您在此处阅读有关array_slice的更多信息:https://www.php.net/manual/en/function.array-slice.php

,

您可以在'/'上拆分字符串,然后使用array_pop将每个项目弹出到结果数组之外:

$str = "Home/Gallery/Images/Mountains";
$bits = explode("/",$str);
// Gives: 
Array
(
  [0] => Home
  [1] => Gallery
  [2] => Images
  [3] => Mountains
)

$last = array_pop($bits);
echo 'last: ' .$last; // Mountains

$next = array_pop($bits);
echo 'next: ' .$next; // Images
,

这是使用basenamedirname的简单选项:

$path = 'Home/Gallery/Images/Mountains';
$lastFolder = basename($path);
$secondToLastFolder = basename(dirname($path));

Demo