在非专用服务器上使用dirname(_文件__)的PHP?

在非专用服务器上使用dirname(_文件__)的PHP?,php,path,constants,Php,Path,Constants,我想做的是在配置文件中定义一个常量变量: DEFINE("PATH", dirname(__FILE__) . "/"); 因此,当我想要“包含”或重定向时,我可以这样做: include(PATH . "filename.php"); 或 但当我尝试对路径进行回显时,我得到了以下结果: /home/myDOMAIN/public_html 我是否错误地声明了常数?(老实说,我从Wordpress配置文件复制了该代码)我想这是您在服务器端的路径。更新: 试试这个: // sets site

我想做的是在配置文件中定义一个常量变量:

DEFINE("PATH", dirname(__FILE__) . "/");
因此,当我想要“包含”或重定向时,我可以这样做:

include(PATH . "filename.php");

但当我尝试对路径进行回显时,我得到了以下结果:

/home/myDOMAIN/public_html

我是否错误地声明了常数?(老实说,我从Wordpress配置文件复制了该代码)

我想这是您在服务器端的路径。

更新:

试试这个:

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


魔法常量
\uuuu文件包含文件系统路径,而不是URL。您需要创建两个不同的常量,例如,includes的
FS\u ROOT
和url的
WEB\u ROOT


在许多情况下,$\u服务器阵列中已经有一个内置值可以帮助您。运行
print\r($\u服务器)
来找出答案。

那么我现在做的是错的吗?我试着“包括一次”,但我得到了致命的错误信息阿尔瓦罗:我不能把“两个下划线”加上一个单词。文本将变为粗体。您可以使用“0101001”按钮格式化源代码。我已经为你编辑了这个问题。感谢阿尔瓦罗编辑并提供答案。我尝试了包含前缀,非常奇怪,我得到了这个结果:/home/myDOMAIN/public\u html/home/myDOMAIN/public\u html
// sets site path for inclusion of files
define ('PATH', $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']));