2010-07-28 8 views
0

То, что я пытаюсь сделать, это определить постоянную переменную в конфигурационном файле:PHP с использованием dirname (__ FILE__) на не выделенном сервере?

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

Так что, когда я хочу, чтобы «включить» или перенаправлять, я мог бы сделать это:

include(PATH . "filename.php"); 

или

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

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

/home/myDOMAIN/public_html 

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

+0

"игнорировать знак @"? –

+0

Альваро: Я не могу поставить «2 подчеркивания», а затем одно слово. Текст станет полужирным. –

+0

Вы можете форматировать исходный код с помощью кнопки «0101001». Я отредактировал этот вопрос для вас. –

ответ

2

Update:

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

// 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

+0

Привет, я попытался включить префикс, очень странно, я получил этот результат: /home/myDOMAIN/public_html/home/myDOMAIN/public_html –

+0

@web_starter: см. Мой обновленный ответ , – Sarfraz

+0

Отлично. Сейчас он работает –

-1

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

+0

Так что я делаю неправильно? Я пытаюсь включить "include_once", но я получил сообщение fatal_error –

1

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

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

Смежные вопросы