在php中定义根路径

在php中定义根路径,php,document-root,Php,Document Root,我了解了如何定义一个rootpath常量,在使用单页应用程序时,该常量可用于所有子页 现在我的问题是,如何在脚本中使用basepath,我在表单操作中指向它 我的问题是,我想在“action”脚本中使用相对路径,与脚本所在的位置相比,这样无论从何处调用该文件,该路径都可以工作 我试着用 dirname(__FILE__) 但当我使用父目录中的文件时,在某些级别上,我最终得到了如下结果 dirname(dirname((__FILE__)) 有时甚至更上一层楼,我不喜欢它的样子 在尝试使用b

我了解了如何定义一个rootpath常量,在使用单页应用程序时,该常量可用于所有子页

现在我的问题是,如何在脚本中使用basepath,我在表单操作中指向它

我的问题是,我想在“action”脚本中使用相对路径,与脚本所在的位置相比,这样无论从何处调用该文件,该路径都可以工作

我试着用

dirname(__FILE__) 
但当我使用父目录中的文件时,在某些级别上,我最终得到了如下结果

dirname(dirname((__FILE__))
有时甚至更上一层楼,我不喜欢它的样子

在尝试使用basepath常量之后,我发现它在表单提交时调用的脚本中是不可访问的

所以我的问题是。如何使用在整个应用程序中工作的公共基本路径?我曾考虑将其存储在会话中,但这似乎是个坏主意,因为它在会话中没有真正的位置


如果您有任何建议,我们将不胜感激。最常见的解决方案是

dirname(dirname(__FILE__))
这是最可靠的解决方案,别忘了你也可以一直倒退

dirname(dirname(__FILE__)).'/../'

应用程序的客户端和服务器端都没有公共的基本路径

在客户端,所有路径都是相对于当前url的,或者是相对于基本url/域名的绝对路径

在服务器端,您正在处理文件系统

因此,如果服务器端的站点根(
$\u server[“DOCUMENT\u root”]
)类似于
/home/some user/www
,并且表单处理器位于
/home/some user/www/assets/inc/process-form-1.php
,这就是服务器端所需的确切路径(如果要使用绝对路径…)


但是,在客户端,您的
操作将指向一个相对路径或一个绝对路径,在本例中,它将是
/assets/inc/process-form-1.php
;相对于web服务器根目录的绝对路径。

是否使用特定的框架?由于大多数框架都会在boostrap或分派文件中指定基本路径……您可以将所有URL基于PHP5.3中的
$\u服务器[“DOCUMENT\u ROOT”]
,dirname(\uuuu DIR\uuuuu)=dirname(dirname(\uu file\uuu)
\uu DIR\uuu\ube您的意思是
\uu DIR
这是一些很好的信息。但是表单处理脚本是否可以访问一个变量,而不必在每个处理脚本中都包含该脚本?@Rasmus我不确定我是否理解您要查找的内容,
$\u SERVER[“DOCUMENT\u ROOT”]
不是给你所需要的一切吗?@TimothyGroote这正是我想纠正他的原因。帮助一个人有时意味着告诉他什么是最好的事情,而不是他认为什么是最好的!