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

kil*_*zzy 5 php apache directory include

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

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

所以index.php包含first.php:

<?php include_once("includes/php/first.php"); ?>
Run Code Online (Sandbox Code Playgroud)

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

<?php include_once("includes/php/functions.php"); ?>
Run Code Online (Sandbox Code Playgroud)

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

include_once("functions.php");
Run Code Online (Sandbox Code Playgroud)

这似乎现在有效.

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

nic*_*ckf 12

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

include dirname(__FILE__) . "/functions.php";
Run Code Online (Sandbox Code Playgroud)

  • 我倾向于为我的PHP应用程序创建一些定义,并将我的root_path和web_path存储在那里以供使用 (2认同)