Подтвердить что ты не робот

Php getcwd(), разрешающий цель symlink вместо текущего каталога

Насколько мне известно, php getcwd() (и подобные функции, например dirname(__FILE__)), должны возвращать текущий каталог исполняемого файла.

Если текущий каталог является символической ссылкой на другой каталог, php (предположительно в сочетании с apache) должен возвращать путь, обозначающий имя символической ссылки как "каталог", в котором вы находитесь.

Пример:

from /var/www,
directory 'one' contains index.php
symlink 'two' points at directory 'one'

one/index.php: <?php echo getcwd(); ?>

Доступ к http://localhost/two/index.php в браузере показывает /var/www/one.

Я ожидаю, что он покажет /var/www/two

Кто-нибудь знает, если это параметр php или apache, который я могу изменить? Или я не могу использовать символические ссылки таким образом?

4b9b3361

Ответ 1

ОК выяснил это. Используйте $_SERVER['SCRIPT_FILENAME'], если над браузером. В командной строке вы можете получить текущий символический каталог с помощью exec("pwd")