我正在用PHP做一个我不太熟悉的项目。我正在使用MVC框架(CodeIgnitor)。我注意到每次我返回一个由更长/更短的url字符串产生的视图时,我所有的包括break。似乎路径是相对于网址的。
$ _SERVER [“DOCUMENT_ROOT”]是在PHP中生成包含路径的最佳方法吗?
谢谢!
答案 0 :(得分:1)
您应该阅读User Guide on URL Helpers。它已经拥有您需要的所有信息,并提供了为您的站点提供路径的功能。
如果您的文件系统需要路径,则有BASEPATH
,APPPATH
和FCPATH
。查看index.php
以查看它们指向的位置(也有这些常量的描述)
答案 1 :(得分:0)
我真的取决于你的应用程序,我不知道CodeIgnitor是如何工作的,但这里有几点:
如果您使用php路径(在php.ini中定义),您可以随时将您包含在php路径中,因此包含文件不再相对于文件路径。
如果您有一个项目目录(例如/ srv / www / myProject /),并且您使用的所有文件都驻留在此目录中,那么您可以定义一个像这样的会话值$ _SESSION ['project_path'] ='/ srv / www / myProject'然后当包含文件时,它看起来像这样:
include_once($_SESSION['project_path'] . 'included.php');
调用绝对路径会使include不关心当前路径。
答案 2 :(得分:0)
base_url()和site_url()可能就是您所需要的。