Получить имя папки через php запрос URL

0

Мне нужно имя текущей папки через PHP. Я уже знаю, что basename поможет этому.

<?php echo basename(__DIR__);?>

Но это не поможет мне из-за моей структуры папок.

Вот моя странная настройка;

| template.php
|/Страницы/
|/pages/requiredfoldername/index.php

Так что в моем index.php это только одна строка

<?php include './../../template.php';?>

Итак, мой вопрос заключается в том, что я должен писать в template.php для получения текущего имени папки?

  • 0
    Может быть, вы на самом деле ищете getcwd() ? php.net/getcwd
Теги:
require

4 ответа

0
<?php
    $parts = explode("/", $_SERVER['REQUEST_URI']);

    echo $parts[3];


?>

Спасибо всем, я попросил моего друга, и он придумал это решение. И это работает !!!

  • 0
    Совет: если вы будете использовать mod_rewrite, REQUEST_URI вам не поможет, но SCRIPT_FILENAME все равно будет работать
  • 0
    @mrpn Я хотел бы призвать вас рассмотреть другие опубликованные ответы на этой странице в качестве кандидатов на зеленую галочку. Использование explode() - это скорее обходной путь, чем решение профессионального уровня. При поиске данных, связанных с каталогом / путем, в вашем распоряжении есть определенные функции. Помните также, что эта страница будет посещаться будущими исследователями в течение длительного времени в будущем, и они захотят узнать «лучший» способ выполнить эту задачу. Пожалуйста, внесите свой вклад в превращение StackOverflow в прекрасный источник знаний.
Показать ещё 1 комментарий
0

используйте dirname() два раза: <?php include(dirname(dirname(__FILE__));?>

0
getcwd();

or

dirname(__FILE__);

or (PHP5)

basename(__DIR__) 

http://php.net/manual/en/function.getcwd.php

http://php.net/manual/en/function.dirname.php

0

Это то, что вам нужно:

dirname($path)

dirname: для строки, содержащей путь к файлу или каталогу, эта функция вернет путь родительского каталога.

__FILE__: Полный путь и имя файла с символическими ссылками разрешены. Если используется внутри include, возвращается имя включенного файла.

-

Внутри template.php, __FILE__ - это абсолютный путь к template.php:

/[path to your app]/template.php

Затем dirname (__ FILE__) возвращает:

/[path to your app]/

-

Внутри index.php, __FILE__ - это абсолютный путь к index.php:

/[path to your app]/pages/requiredfoldername/index.php

Затем dirname (__ FILE__) возвращает:

/[path to your app]/pages/requiredfoldername

Также в template.php, возможно, $ _SERVER поможет вам с ключом "SCRIPT_FILENAME". Этот ключ содержит абсолютный путь (с исключениями в CLI) к исполняемому скрипту:

Если /pages/requiredfolder/index.php является вашей точкой входа в приложение, когда вы включаете template.php, исполняемый скрипт в данный момент остается index.php. Таким образом, $ _SERVER ['SCRIPT_FILENAME'] будет

'/[path to your app]/pages/requiredfoldername/index.php'

Использование dirname с $ _SERVER ['SCRIPT_FILENAME'] приводит к:

'/[path to your app]/pages/requiredfoldername'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню