PHP: получить последнее имя каталога из пути

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

$qa_path=site_root('/learnphp/docs/');

Я хочу получить только docs сверху путь. Здесь site_root ничего, кроме $_SERVER['DOCUMENT_ROOT'] Так как я могу получить только docs ?

спасибо

8 ответов


самый простой способ-использовать basename($yourpath) Как вы можете видеть здесь:http://php.net/basename


предоставленный ответ не работает, если ваша строка содержит файл в конце, например:

basename('/home/mypath/test.zip');

дает

test.zip

поэтому, если ваша строка содержит файл, не забудьте dirname это первое

basename(dirname('/home/mypath/test.zip'));

дает

mypath

Это самый простой способ:

<?php
  echo basename(getcwd());
?>

getcwd () = укажите полный путь к каталогу basename () = дать вам последний каталог


попробовать explode('/', '/learnphp/docs/') разбить строку на расположения массивов. Затем найдите последнее место.

здесь подробнее: http://php.net/manual/en/function.explode.php


вы можете использовать этот простой фрагмент:

$qa_path=site_root('/learnphp/docs/');
$qa_path = explode("/", $qa_path);
$qa_path = $qa_path[count($qa_path) - 1];

$qa_path=explode('/', '/learnphp/docs/');
echo $qa_path[2]; // output docs

Это поможет вам

$qa_path=site_root('/learnphp/docs/');
$q_path = explode ("/", $qa_path);
$lastV =  end($q_path);

Это дает вам текущее имя каталога: echo basename(dirname(__FILE__));