2012-12-17 48 views
1

可能重复:
Relative include files为什么../(点点斜杠)在我的根目录下工作?

例如,

include('../admin/db_cred.php'); 

那如果我在另一个文件夹,如公共工程。但是,如果我只是在www.SITE.com/index.php,它不起作用。

警告:包括(../管理员/ db_cred.php)[]:未能打开流:在/home/[...].php没有这样的文件或目录在第6行

我添加了(点点斜线),因为搜索../并不能很好地工作......

+2

它究竟如何“不起作用”? –

+0

对不起,我更新了包含警告。 – fwho

+0

@KeithThompson'“不能很好地工作”' –

回答

2

../约定指示从您所在的位置向上移动一个目录级别。如果您位于根目录中,则无法向上移动更多级别。

如果你的/ admin文件夹在根目录下,你从/ public目录中调用该方法,然后../admin/将允许您从下面

0

一个级别选择/管理文件夹../是父文件夹,但根没有父母。

如果你想解决

http://site/admin/db_cred.php 

你应该写这样的:

include('~/admin/db_cred.php'); 
2

../指或“上面这一个文件夹”“动起来的文件夹。”例如,如果您在终端并输入cd ../,您将从您开始的位置向上移动一个文件夹。

当你在site.com/index时,你很可能在你网站的网站根目录下,因此无法升级,因为没有升级。

“但是有/var/www以上的文件夹!”是的,有,但您的脚本无法访问它们(这是一件非常好的事情,您不希望被劫持的脚本访问您的整个服务器)。至于你的脚本,/var/www(或任何你的web根目录)最高级别,无论实际上在文件系统上。

相关问题