将一个PHP文件包含到另一个PHP文件中

将一个PHP文件包含到另一个PHP文件中,php,Php,我需要将一个PHP文件包含到另一个PHP文件中。但是,需要包含的PHP文件位于单独的目录中。这是如何设置的: folder1/global-functions.php folder1/folder2/functions.php 我需要在“functions.php”中包含“global functions.php” 我试过: <?php include("../global-functions.php"); ?> 但这是行不通的。它返回以下错误消息: 警告

我需要将一个PHP文件包含到另一个PHP文件中。但是,需要包含的PHP文件位于单独的目录中。这是如何设置的:

folder1/global-functions.php
folder1/folder2/functions.php
我需要在“functions.php”中包含“global functions.php”

我试过:

<?php include("../global-functions.php"); ?>

但这是行不通的。它返回以下错误消息:

警告:include(../global functions.php)[function.include]:无法打开流:第2行的/home/user/public_html/wp content/themes/folder1/folder2/custom_functions.php中没有此类文件或目录

警告:include()[function.include]:在第2行的/home/user/public_html/wp content/themes/folder1/folder2/custom_functions.php中打开“../global functions.php”以包含(include_path=.”:/usr/lib/php:/usr/local/lib/php)失败


您正在将functions.php本身包括在内。将functions.php更改为global-functions.php


出于好奇,为什么函数有不同的文件?为什么不创建类和对象,让您的生活更轻松

尝试包含具有绝对路径的文件:类似以下内容:

<?php include ($_SERVER['DOCUMENT_ROOT']."/folder1/global-functions.php");?>

原始包含失败,因为。。。include中的相对路径是相对于当前目录的,在您的情况下,当前目录不是“folder1/folder2/”。当前目录可能是您提供内容的页面


您需要使用绝对路径(借助@Coomie的答案中的
$\u SERVER['DOCUMENT\u ROOT']
),或者更改include\u路径以包含所包含文件的位置(但是您不能使用相对路径,但无论如何也不需要)。

您希望在代码中包含全局函数,您只包括functions.php。。我想你必须把它改成我想你尝试错了…很抱歉,我在那里出现了复制+粘贴错误,我把global-functions.php包含在了functions.php中,而不是functions.php中。至于你的问题,我正在WordpressMU中处理论文主题。这意味着,对于每个MU博客安装,都有一个单独的主题版本,其中包含自己的functions.php文件。我希望在global-functions.php文件中包含所有博客安装中的一些常见函数。这似乎不起作用。我收到如上所述的sam错误消息。我没有使用$\u服务器数组,而是键入了完整路径,它似乎起了作用。@Nick键入完整路径的问题是,如果以后将代码复制到另一台服务器,它可能不起作用,因为路径会不同
$\u服务器['DOCUMENT\u ROOT']
应保留指向web根文件夹(即public\u html)的绝对路径。@w3d我尝试了几次,但根本无法工作。我觉得这是一个wordpress的问题。我将进一步调查,因为不完整代码中的一些小片段让我恼火。谢谢你的帮助!Wordpress可能会与$\u服务器对象发生问题,有时会限制对它的访问[。除非服务器上的某些内容发生更改,否则它的硬编码是否为。。。