可能重复:
Relative include files
例如,
include('../admin/db_cred.php');
如果我在另一个文件夹中,例如public,那就有效。但是,如果我只是在www.SITE.com/index.php,它就不起作用。
警告:include(../ admin / db_cred.php)[function.include]:无法打开流:第6行/home/[...].php中没有此类文件或目录
我添加了(点点斜线),因为搜索../不能很好地工作......
答案 0 :(得分:2)
../
约定表示从您所在的位置向上移动一个目录级别。如果您位于根目录中,则无法再向上移动。
如果您的/ admin文件夹位于根目录中,并且您从/ public目录中调用它,则../admin/
将允许您从下面的某个级别选择/ admin文件夹
答案 1 :(得分:2)
../
表示“此文件夹上方的文件夹”或“向上移动文件夹”。例如,如果您在终端并输入cd ../
,则会从您开始的位置向上移动文件夹。
当你处于site.com/index
时,你很可能在你网站的网络根目录中,因此无法升级,因为没有升级。
“但是/var/www
以上有文件夹!”是的,有,但你的脚本没有访问权限(这是一件非常好的事情,你不希望被劫持的脚本获得对整个服务器的访问权限)。就您的脚本而言,/var/www
(或任何您的Web根目录) 是最高级别,无论文件系统上实际存在什么。
答案 2 :(得分:0)
../是父文件夹,但root没有父文件。
如果你想解决
http://site/admin/db_cred.php
你应该这样写:
include('~/admin/db_cred.php');