Как получить последний каталог из пути в строке

Я пытаюсь получить последнее имя папки из пути, который я храню в строке.

например: Home/new_folder/test

 result = test 

Solutions Collecting From Web of "Как получить последний каталог из пути в строке"

Использовать базовое имя

 basename('Home/new_folder/test'); // output: test 

В качестве примечания к тем, кто ответил, взорвался:

Чтобы получить конечный компонент имени пути, вы должны использовать basename ! Если ваш путь – это что-то вроде $str = "this/is/something/" end(explode($str)); комбо не удастся.

Вы можете использовать функцию basename () :

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

Вы можете использовать pathinfo – pathinfo

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

Это также гарантирует, что конечная косая черта не означает, что возвращается пустая строка.

Я знаю, что это старый вопрос, но это автоматически получает последнюю папку, не запутывая последний элемент в списке – это может быть сценарий, а не фактическая последняя папка.

 $url = pathinfo($_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME); $url_var = explode('/' , $url); $last_folder = end($url_var); 

Explode превращает строку в массив, вы можете выбрать последнее значение в этом массиве, чтобы быть вашим результатом.

 $result = end((explode('/', $path))); 
 $directory = 'Home/new_folder/test'; $path = explode('/',$directory); $lastDir = array_pop($path); 

Таким образом, вы хотите что-то динамическое, которое будет работать большую часть времени, а может быть, функция многократного использования или что-то в этом роде.

Получите URI из данных, которые веб-сервер предоставил вам в запросе через данные $ _SERVER: $ _SERVER ('REQUEST_URI')

Из этого URI получите путь: parse_url ($ _ SERVER ['REQUEST_URI'], PHP_URL_PATH))

basename () – это правильный инструмент для получения последнего каталога после того, как вы перегоняли путь из полного URI: 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)); } 
 <?php $path = explode('/', $yourPathVar); // array_pop gives you the last element of an array() $last = array_pop($path); ?> 

Это также работает на среде 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); }