2012-08-01 227 views
-2

PHP程序员!包含路径 - 相对路径

我在PHP中包含函数有问题。

我有一个网站,其中包含一个左列栏,该列包含动态内容,我用包含函数与相对路径获得,因为绝对路径在包含函数中不可用。

当我导航到其他文件夹中的其他文件时,出现以下错误:include(folder/fileToBeIncluded.php)[function.include]:未能打开流:没有这样的文件或目录在/ home/mywebsite/public_html /第3行的thissite/folder/subfolder/leftcolumn.php

我该如何处理这个问题?我完全迷失了,现在我一直在寻找Google和StackOverflow约10分钟。

谢谢!

+0

是什么让你觉得你不能在包含函数中包含绝对路径? – 2012-08-01 18:20:55

+0

其实*阅读*错误。它告诉你问题是什么。你想要的文件不在新文件夹中,对吗?您需要更改包含路径以确保正确性。我建议研究绝对路径,并使用它们。 – MetalFrog 2012-08-01 18:21:40

+0

“我一直在寻找Google和StackOverflow 10分钟。”布拉沃。很大的努力...请下次再努力搜索一下,并加入一些您自己的代码,以使我们更轻松。 – 2012-08-01 18:28:18

回答

1

绝对路径可以与include语句一起使用。

尝试:

include $_SERVER['DOCUMENT_ROOT'] . '/folder/fileToBeIncluded.php'; 
// or 
include dirname(__FILE__) . '/../fileToBeIncluded.php'; // relative to the path of the file doing the include 

最起码,你可以硬编码的路径,以绝对确保(直到您移动别处您的网站):

include '/home/yoursite/public_html/folder/fileToInclude.php'; 

请参阅include文档。

0

我可以建议创建一个专用的“包含”文件夹吗?喜欢的东西:

/home/mywebsite/includes

在php.ini,你需要添加:

include_path = "/home/mywebsite/includes/"

这样一来,所有呼叫包括来自/home/mywebsite/includes检查你看之前需要的文件因为它相对于正在处理的当前页面的位置。