2012-06-09 113 views
0

文件夹结构包括包含另一文件

    • INC/
      • db.php中
      • session.php文件
      • db.php中
      • 的init.php一个文件
    • LIB/
      • 枝条/
  • 的init.php

的login.php文件

<?php 
include 'inc/init.php'; 

的init.php

<?php 
include 'session.php'; 

$config = include 'config.php'; 
include 'db.php'; 

require_once '/lib/Twig/Autoloader.php'; 
Twig_Autoloader::register(); 

我很困惑的事实是枝条库被包括在内。我不应该需要备份一个文件夹../?但是这给了我一个错误,我只是不明白为什么。

+1

什么是错误? –

+0

如果你读了最后一句话,你显然明白没有错误,但是错误地理解它为什么像它那样工作。 – John

+0

由于'init.php'文件已经在'root'目录(我猜是你的主目录),所以你不需要回到任何地方。您位于目录结构的最顶层。如果你在浏览器的空白页面,你将如何从那里回来?一样。 – Eugene

回答

1

您正在使用Twig的绝对路径,这就是它包含的原因。如果你想从你的init.php文件包括它使用相对路径,那么就应该是这样的:

require_once './lib/Twig/Autoloader.php'; 
0

什么PHP包括说法呢,就是它把你包括文件,并在包括文件转储一切。所以如果你在根文件夹的init.php文件中包含一个文件,那么所有的包含都是相对于根目录的。

要把握。在包含文件中添加一些语句,如printf("I am in init.db, the current folder is %s", getcwd());,这些语句将帮助您了解包含文件的当前目录,并且可以相应地修改您的包含。