Лучший способ создания абсолютного пути в PHP? (См. 3 метода, перечисленных внутри)

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

Сейчас я использую метод 1 в своем скрипте, а некоторые пользователи имеют проблемы с пути. Я просто хочу, чтобы этот метод работал на любой версии php и почти на любой конфигурации сервера.

  • Показывать результаты, пока скрипт все еще выполняется.
  • Как объединить два массива путем суммирования объединенных значений
  • Как объединить два массива объекта в PHP
  • Поиск общей ценности среди подмассивов в многомерном массиве
  • Загрузка файла автозагрузки после отправки формы
  • Ссылка php на файл изображения за пределами веб-каталога по умолчанию
  • 1. <?php echo $_SERVER['DOCUMENT_ROOT']; ?> 2. <?php echo getcwd(); ?> 3. <?php echo dirname(__FILE__); ?> 

    Большое вам спасибо за любой опыт, который вы можете предоставить по этому поводу!

  • PHP Fatal Ошибка Не удалось открыть файл
  • Проверьте, существуют ли файлы с абсолютным и относительным путем
  • PHP - с require_once / include / require, путь относительно чего?
  • Как переопределить путь PHP для использования пути MAMP?
  • Как получить относительный каталог независимо от того, где он включен в PHP?
  • Корневой путь не работает с php.
  • 2 Solutions collect form web for “Лучший способ создания абсолютного пути в PHP? (См. 3 метода, перечисленных внутри)”

    dirname(__FILE__) всегда будет работать независимо от платформы или веб-сервера. DOCUMENT_ROOT может работать по-разному между конфигурациями серверов (Apache vs IIS vs Lighttpd vs nginex). cwd показывает выбранный рабочий каталог, который может быть или не быть прав (вы можете изменить его в скрипте). Поэтому я бы предложил dirname(__FILE__)

    • Массив $ _SERVER содержит пользовательские данные и, следовательно, не может быть доверен , зависит от платформы (веб-сервера).

    • Текущий рабочий каталог может зависеть от точки входа запроса. Рассмотрим этот пример (CLI):

       cd ~/mypath/mypath2 php myscript.php cd ~/mypath php mypath/myscript.php 
    • IMHO самым безопасным решением является использование dirname(__FILE__) или dirname(__FILE__) (начиная с PHP 5.3), поскольку путь к файлу всегда будет одинаковым (относительно структуры ваших проектов).

    PHP is the Best Programming Language in the world.