0

我阅读了如何定义在使用单页应用程序时可在所有子页面中使用的根路径常量。

现在我的问题是,如何在表单操作中指向的脚本中使用基本路径?

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

我尝试使用

dirname(__FILE__) 

但是当我在父目录中使用文件时,我最终得到了类似的东西

dirname(dirname((__FILE__))

有时甚至更上一层楼,我不喜欢那样的样子。

在尝试使用基本路径常量后,我发现它在我的表单调用表单提交的脚本中不可访问。

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

任何建议将不胜感激,在此先感谢。

4

2 回答 2

0

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

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

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

因此,如果您在服务器端 ( $_SERVER["DOCUMENT_ROOT"]) 上的站点根目录类似于/home/some-user/www并且您的表单处理器位于/home/some-user/www/assets/inc/process-form-1.php,那么这就是您在服务器端所需的确切路径(如果您想使用绝对路径...)。

但是,在客户端,您action将指向相对路径或绝对路径,在这种情况下为/assets/inc/process-form-1.php; 相对于网络服务器根目录的绝对路径。

于 2013-07-10T15:21:44.743 回答
0

最常见的解决方案是

dirname(dirname(__FILE__))

这是最可靠的解决方案,别忘了你也可以随时倒退

dirname(dirname(__FILE__)).'/../'
于 2013-07-10T15:20:34.753 回答