Расширение имен папок пути и сохранение его в массиве

#php #arrays

#php #массивы

Вопрос:

У меня есть этот путь к файлу:

 /www/htdocs/nether/http/helloworld/application/views/scripts/index/dashboard-stats.phtml
 

Что я хочу сделать, так это сохранить папку helloworld в элементе массива. В этом примере имя папки helloworld находится на 5 месте. Но при размещении этого на другом веб-сервере это может быть на втором или третьем месте. Как сделать это автоматически?

У меня есть код, который работает, см. Ниже.

 $pieces = explode($_SERVER["DOCUMENT_ROOT"], __FILE__);
$parts = explode("/", $pieces[1]);
echo $parts[1];
 

Мой вопрос в том, что, помимо автоматического выполнения этого, возможно ли сделать это менее чем за 3 строки кода?

Комментарии:

1. Ваш вопрос, как это сделать автоматически? или это возможно сделать менее чем за 3 строки кода? Кроме того, вы пытаетесь получить helloworld элемент каждый раз или это будет что-то другое? Пожалуйста, укажите более конкретные критерии.

Ответ №1:

Если вы используете PHP 5.4.0, вы можете сделать следующее:

 echo explode("/",explode($_SERVER["DOCUMENT_ROOT"], __FILE__)[1])[1];
 

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