У меня есть php-страница в папке на моем веб-сайте.
Мне нужно добавить имя текущего каталога в переменную, например:
$myVar = current_directory_name;
Это возможно?
getcwd();
или
dirname(__FILE__);
или (PHP5)
basename(__DIR__)
http://php.net/manual/en/function.getcwd.php
http://php.net/manual/en/function.dirname.php
Вы можете использовать basename()
для получения конечной части пути :)
В вашем случае я бы сказал, что вы, скорее всего, захотите использовать getcwd()
, dirname(__FILE__)
это более полезно, когда у вас есть файл, который должен включать другую библиотеку и включен в другую библиотеку.
Например:
main.php
libs/common.php
libs/images/editor.php
В вашем common.php
вам нужно использовать функции editor.php
, поэтому вы используете
common.php
:
require_once dirname(__FILE__) . '/images/editor.php';
main.php
:
require_once libs/common.php
Таким образом , когда common.php находится require'd
в main.php
, вызов require_once
в common.php
правильно включает editor.php
в images/editor.php
вместо того , чтобы искать в текущей директории , где main.php
выполняется.
basename(__DIR__)
в PHP 5basename(getcwd())
__DIR__
это путь к включенному файлу, а НЕ текущий каталогbasename(__DIR__)
спасло меня. Большое спасибо за то, что поделился!Чтобы получить только имя каталога, в котором выполнялся скрипт:
источник
источник
Например
Your Path = /home/serverID_name/www/your_route_Dir/
THIS_is_the_DIR_I_Want
ДЕЙСТВУЮЩАЯ ДУША:
источник
На самом деле я нашел лучшее решение:
если ваш каталог www \ var \ path \ Current_Path
тогда это возвращает Current_path
источник
PATH_SEPARATOR
$myVar = str_replace('/', '', $_SERVER[REQUEST_URI]);
libs / images /index.php
Результат: images
источник
Если у вас есть PATH и вы не хотите беспокоиться о том, работает ли ваш скрипт в интересующей вас папке, тогда это сработает:
источник