Php 需要包含变量的文件
我目前正在使用以下代码在我的网页中包含一个文件:Php 需要包含变量的文件,php,variables,require,require-once,Php,Variables,Require,Require Once,我目前正在使用以下代码在我的网页中包含一个文件: require_once $_SERVER['DOCUMENT_ROOT'] . '/include/file.php'; 然而,我现在已经编辑了我的系统,所以我将URL输入到根目录中的一个数据文件中,这使得我的站点的其他部分能够正常工作,并允许我使用不同的目录 简而言之,我在一个网站上使用了一个启动页面,其中根现在是/directory,而不是根目录,因此我的数据文件中的URL是 因此,我需要解决的是如何使用包含URL的数据文件中的变量将这一
require_once $_SERVER['DOCUMENT_ROOT'] . '/include/file.php';
然而,我现在已经编辑了我的系统,所以我将URL输入到根目录中的一个数据文件中,这使得我的站点的其他部分能够正常工作,并允许我使用不同的目录
简而言之,我在一个网站上使用了一个启动页面,其中根现在是/directory,而不是根目录,因此我的数据文件中的URL是
因此,我需要解决的是如何使用包含URL的数据文件中的变量将这一行指向目录
因此,$\u SERVER['DOCUMENT\u ROOT']
变得无关紧要,因为我需要从数据文件中的变量中获取数据,该变量不再位于根目录中
它需要类似于:
require_once (variable from file a few directories back) + absolute path to file;
我希望这一行代码也能经得起未来的考验,如果我需要使用不同的目录构建一个站点,那么就使用根目录
我希望这是有道理的 创建一个
SITE\u ROOT
并使用它。这样,它将适用于任何目录更改
define('SITE_BASE', '/directory/');
define('SITE_ROOT', $_SERVER['DOCUMENT_ROOT'] . SITE_BASE);
然后,您可以使用SITE\u BASE
创建URI:
<a href="<?php echo SITE_BASE ?>subdir/">link</a>
您是否考虑过在
php.ini
文件中设置include_path
?例如,我自己的php.ini
文件具有include_path=“.:/path/to/web/root”
,这使我在包含文件时不必担心文件的位置
在您的情况下,您需要将其设置为include_path=“.:/path/to/web/root/directory”
。如果您不知道web根目录的路径,只需运行echo$\u服务器['DOCUMENT\u root']代码>以找到它
这个解决方案是“经得起未来考验的”,因为您只需更改php.ini
值,一切都会就绪。唯一有意义的事情是有两个不同的变量;将您的基本url设置和本地文档根分开。不确定您在问什么。file.php现在在/directory/include/file.php中,还是仍然在/include/file.php中?你能给我们一些你当前目录结构的真实例子吗,file.php在哪里,这个配置变量包含什么?谢谢你的回答。然而,我从一个php文件控制我的整个系统,我希望保持这种方式。我知道使用PHP实现这一点是可能的——我只需要一个对PHP了如指掌的人来帮助我编写这段代码!:)感谢您的回复jwegner,是的,新路径是/directory/include/file.php。我需要包含的变量位于/目录中。变量包含包含变量的数据文件的URL,即$URL='',再次感谢。感谢您的回复,Kolink。我没有使用php.ini文件。我还不是PHP专家:(我正在使用一个.php文件来控制我的所有页面。这听起来确实可以解决我的问题。我会进一步研究这个问题。非常感谢。这听起来是一个完美的解决方案!我将在哪里包含SITE_ROOT的数据?非常感谢!它将需要成为在每个页面上运行的第一行代码之一。因此at最适合您的特定应用程序。我明白了。非常感谢。我现在就给它一个bash。再次感谢。不客气。很高兴提供帮助。如果这是最佳答案,请单击复选标记:)它可以工作,但我需要能够使用/directory/data.php中的变量,该变量包含指向它的绝对URL()。我可以将您的代码添加到data.php文件中,这将解决我的问题,但随后我必须更改大约100行指向变量的其他代码。只是这一行行不通。再次感谢您的帮助,但如果您知道如何实现这一点,我将非常感谢您的帮助。问候。
require_once SITE_ROOT . 'include/file.php';