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

How to get last & second last folder name from path using php?

路径:

Home/Gallery/Images/Mountains

此路径中的最后一个文件夹名称是 Mountains,倒数第二个文件夹名称是 Images.


我想显示这个输出:

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

这是一个使用 basename and dirname 的简单选项:

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

Demo