我读到了如何定义在使用单页面应用程序时可在所有子页面中使用的根路径常量。
现在我的问题是,我如何在脚本路径中使用我在表单操作中指向的脚本?
我的问题是,我希望在“action”脚本中使用相对路径(与脚本所在的位置相比),这样无论从哪个文件调用,路径都可以工作。
我尝试使用
dirname(__FILE__)
但是当我在父目录中使用文件的某些级别时,我最终得到了像
这样的东西dirname(dirname((__FILE__))
有时甚至是另一个级别,我不喜欢它的外观。
在尝试使用基本路径常量后,我发现它在脚本中无法访问,我的表单正在调用表单提交。
所以我的问题是。如何使用适用于整个应用程序的公共基路径?我正在考虑将它存储在一个会话中,但这似乎是一个坏主意,因为它没有真正的位置。
提前感谢任何建议。
答案 0 :(得分:0)
最常见的解决方案是
dirname(dirname(__FILE__))
这是最可靠的解决方案,不要忘记你也可以随时倒退
dirname(dirname(__FILE__)).'/../'
答案 1 :(得分:0)
应用程序的客户端和服务器端都没有通用的基本路径。
在客户端,所有路径都相对于当前网址或相对于基本网址/域名的绝对路径。
在服务器端,您正在处理文件系统。
因此,如果您的服务器端站点($_SERVER["DOCUMENT_ROOT"]
)类似于/home/some-user/www
而您的表单处理器位于/home/some-user/www/assets/inc/process-form-1.php
,那么这就是您需要的确切路径服务器端(如果你想使用绝对路径......)。
但是,在客户端,您的action
将指向相对路径或绝对路径,在这种情况下为/assets/inc/process-form-1.php
;相对于Web服务器根目录的绝对路径。