PHP использует dirname (__ FILE__) на невыделенном сервере? - PullRequest
0 голосов
/ 28 июля 2010

Я пытаюсь определить постоянную переменную в файле конфигурации:

DEFINE("PATH", dirname(__FILE__) . "/");

Чтобы при включении или перенаправлении я мог сделать следующее:

include(PATH . "filename.php");

или

header("location: " . PATH . "logout/php");

Но когда я пытаюсь сделать эхо PATH, я получаю такой результат:

/home/myDOMAIN/public_html

Я объявляю константу неправильно? (Если честно, я копирую этот код из конфигурационного файла Wordpress)

Ответы [ 3 ]

2 голосов
/ 28 июля 2010

Обновление:

Попробуйте это:

// sets site path for inclusion of files
define ('PATH', $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']));

Подробнее:

http://php.net/manual/en/reserved.variables.server.php

1 голос
/ 28 июля 2010

Волшебная константа __FILE__ содержит путь к файловой системе , а не URL.Вам нужно создать две разные константы, например, FS_ROOT для включений и WEB_ROOT для URL.

Во многих случаях у вас уже есть встроенное значение в массиве $ _SERVER, которое может вам помочь.Запустите print_r($_SERVER), чтобы узнать.

0 голосов
/ 28 июля 2010

Полагаю, это ваш путь на стороне сервера.

...