2010-07-28 130 views
0

我試圖做的是在配置文件中定義常量變量:PHP在非專用服務器上使用dirname(__ FILE__)?

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

所以,當我想「有」或重定向,我可以這樣做:

include(PATH . "filename.php"); 

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

但是當我嘗試做路徑的回聲,我得到這樣的結果:

/home/myDOMAIN/public_html 

我說錯了嗎? (說實話,我從Wordpress配置文件複製該代碼)

+0

「忽略@符號」? – 2010-07-28 08:09:59

+0

Alvaro:我不能把「2個下劃線」和一個單詞。文本將變爲粗體 – 2010-07-28 08:23:06

+0

您可以使用'0101001'按鈕格式化源代碼。我已經爲你編輯了這個問題。 – 2010-07-28 08:24:24

回答

2

更新:

試試這個:

// 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 – 2010-07-28 08:27:46

+0

@ web_starter:請參閱我的更新的答案,請。 – Sarfraz 2010-07-28 08:31:51

+0

太好了。它現在有效 – 2010-07-28 08:55:15

-1

我想這是你在服務器端的路徑。

+0

所以我在做什麼是錯的?我嘗試「include_once」,但我得到了fatal_error消息 – 2010-07-28 08:08:51

1

__FILE__魔術常量包含一個文件系統路徑,而不是URL。您需要創建兩個不同的常量,例如FS_ROOT代表包含網址,WEB_ROOT代表網址。

在許多情況下,您已經在$ _SERVER數組中具有內建值,可以爲您提供幫助。運行print_r($_SERVER)找出。

相關問題