PHP包含一个include(不同的目录)

时间:2009-12-11 14:38:19

标签: php apache include directory

我正在处理的当前项目的结构如下:

  • 根/ index.php的
  • 根/包括/ PHP / first.php
  • 根/包括/ PHP / functions.php的

所以index.php包含first.php:

<?php include_once("includes/php/first.php"); ?>

通常我的first.php会调用以下函数:

<?php include_once("includes/php/functions.php"); ?>

假设相对仍然来自索引页面,但是当移动到新服务器时它不起作用。我尝试从first.php:

创建相对路径
include_once("functions.php");

这似乎现在有效。

这通常是正确的方法吗?我想推出这个项目,所以几乎任何人都可以安装它。

2 个答案:

答案 0 :(得分:12)

包括相对于执行包含的文件。如果你真的想确保并避免任何歧义,你可以这样做:

include dirname(__FILE__) . "/functions.php";

答案 1 :(得分:0)

我总是使用:

include ($_SERVER['DOCUMENT_ROOT']."/include/php/functions.php");

通过这种方式,您始终可以知道自己的位置(来自根目录),您的代码可以从一个地方复制到另一个地方。