Можно ли как-то использовать абсолютный путь до папки/файла в php?

Ссылка скопирована
1 ответ

Есть сервер ubuntu, с апаче и прочим.

Допустим есть сайт, который находится в папке /var/www/example.com
И есть папка в дирректории /root/folder/
Можно ли как-то получить доступ к данной папке?

Допустим, использовать комманду: scandir("/root/foler/")

Дополнительно:

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

  • Сергей delphinpro, Как можно узнать из под кого он запускается? И как вообще указывать полный путь, потому что путь указывается всегда из папки, я не могу просто указать '/root/folder/'
  • fleen, именно так вы и можете указать.
  • Сергей delphinpro, хорошо, а как можно узнать из под кого запускается файл? apache? root?
  • fleen, веб сервер обычно запускается из-под пользователя www-data
    у этого пользователя, понятное дело, ограниченный доступ, и уж к руту точно его нет.
    А из-под рута сервак запускать - это себе в ногу стрелять.
  • Зачем вам вообще понадобилось лазить из скрипта по всему серверу? Странно это
  • Хорошо, понял, придётся чутка логику поменять, спасибо!
  • Ответы:

    Не только можно, но и нужно.
    Всегда надо использовать только абсолютные пути.

    Можно, но я бы не советовал так делать без грамотной настройки прав. Если запускать php от root, то это может привести к плохим последствиям. Сайт взломают и через php получат доступ сразу ко всему серверу.

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Дмитрий К. Ответ

    Да, в PHP можно использовать абсолютный путь до папки или файла. Абсолютный путь представляет собой полный путь к файлу или папке на сервере, начиная от корневой директории.

    Для того чтобы использовать абсолютный путь в PHP, можно воспользоваться функцией realpath(), которая преобразует относительный путь в абсолютный. Например:

    $absolutePath = realpath('/var/www/html/myfolder');
    echo $absolutePath;

    $absolutePath = realpath('/var/www/html/myfolder'); echo $absolutePath;

    Этот код преобразует относительный путь '/var/www/html/myfolder' в абсолютный путь на сервере и выводит его на экран.

    Также можно использовать магическую константу __DIR__, которая содержит путь к директории текущего скрипта. Например:

    $absolutePath = __DIR__ . '/myfolder';
    echo $absolutePath;

    $absolutePath = __DIR__ . '/myfolder'; echo $absolutePath;

    Этот код создаст абсолютный путь до папки 'myfolder' относительно текущего скрипта.

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

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно