Я могу создать пути без проблемы, но я хочу знать, какой из этих 3 методов является большей частью скалы, твердой и надежной, и будет работать над большинством серверов.
Прямо сейчас я использую метод 1 в моем сценарии, и у некоторых пользователей есть проблемы пути. Я просто хочу метод, который будет работать над любой версией php и почти любой конфигурацией сервера.
1. <?php echo $_SERVER['DOCUMENT_ROOT']; ?>
2. <?php echo getcwd(); ?>
3. <?php echo dirname(__FILE__); ?>
Огромное спасибо за любые экспертные знания можно обеспечить об этом!
dirname (__ FILE __)
будет работать всегда, независимо от платформы или веб-сервера. DOCUMENT_ROOT может работать по-разному в зависимости от конфигурации сервера (Apache vs IIS vs Lighttpd vs nginex). cwd показывает выбранный рабочий каталог, который может быть правильным или неправильным (вы можете изменить его в скрипте). Поэтому я бы предложил dirname (__ FILE __)
$ _ SERVER array содержит пользовательские данные и, следовательно, нельзя доверять зависит от платформы (веб-сервера).
Текущий рабочий каталог может зависеть от точки входа запроса. Рассмотрим этот пример (CLI):
cd ~ / mypath / mypath2
php myscript.php
cd ~ / mypath
php mypath / myscript.php
ИМХО, самым безопасным решением является использование dirname (__ FILE __)
или __ DIR __
(начиная с PHP 5.3), поскольку путь к файлу всегда будет одинаковым (относительно структуры вашего проекта).