php dirname оставить последнюю папку

79
24 апреля 2021, 09:20
dirname(__FILE__, 1)

функция dirname выдает мне такую строку

/home/admin/web/site.com/public_html/pages/my_folder

как мне получить только

pages/my_folder

или

my_folder
Answer 1

Например так:

echo basename(dirname(__FILE__)); //my_folder

Или просто использовать:

echo basename(__DIR__); //my_folder
Answer 2

Если нужно найти всё, что находится после последнего слеша, то оптимальным будет такой вариант:

$pos = strrpos(__DIR__, DIRECTORY_SEPARATOR);
$dir = '';
if ($pos !== false) {
    $dir = substr(__DIR__, ++$pos);
}
// После последнего слеша
echo $dir;

Если нужно искать названия папок от последнего и далее последовательно вверх по директории, то можно так:

$dirs = explode(DIRECTORY_SEPARATOR, __DIR__);
// После последнего слеша
echo end($dirs);
// После предпоследнего слеша
echo prev($dirs);
// После пред-предпоследнего слеша
echo prev($dirs);
// И т.д.

P.S.:Вариантов на самом деле множество.

Answer 3
$a = strrpos(__DIR__, DIRECTORY_SEPARATOR);
$dir = '';
if ($a!==false) $dir=substr(__DIR__,++$a);
Answer 4
$dirname = "/home/admin/web/site.com/public_html/pages/my_folder";
$chunk = explode(DIRECTORY_SEPARATOR, $dirname);
echo implode(DIRECTORY_SEPARATOR, array_slice($chunk, -2)); // pages/my_folder
echo implode(DIRECTORY_SEPARATOR, array_slice($chunk, -1)); // my_folder
READ ALSO
как работает strtotime

как работает strtotime

strtotime('2018-09-20 16:49:54') кидаю первый аргументЭта функция чутко реагирует на настройки сервера временной зоны

89
Отправка post запроса ajax в php

Отправка post запроса ajax в php

Нужно посмотреть какие данные приходят в phpВыполняется запрос при нажатии кнопки:

109
Кнопка «читать далее»

Кнопка «читать далее»

Сейчас на сайте статью обрывает […]Как можно увеличить количество слов до обрыва и поменять многоточие на надпись «читать далее»

72