处理PHP中包含文件的相对路径

时间:2010-07-14 02:24:25

标签: php codeigniter

我正在用PHP做一个我不太熟悉的项目。我正在使用MVC框架(CodeIgnitor)。我注意到每次我返回一个由更长/更短的url字符串产生的视图时,我所有的包括break。似乎路径是相对于网址的。

$ _SERVER [“DOCUMENT_ROOT”]是在PHP中生成包含路径的最佳方法吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

您应该阅读User Guide on URL Helpers。它已经拥有您需要的所有信息,并提供了为您的站点提供路径的功能。

如果您的文件系统需要路径,则有BASEPATHAPPPATHFCPATH。查看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()可能就是您所需要的。