在一个PHP文件中执行另一个PHP文件—不修改路径


Execute one PHP file from within another - without modifying paths

我有两个PHP文件(不在同一个目录中)和一个属性文件,如下所示:

a.php
-----
<?php
echo "one";
include("/path/to/b.php");
echo "three";

b.php
-----
<?php
$num = file_get_content("b.properties");
echo $num;

其中b.properties中有two

由于a.phpb.php不在同一个文件夹中,a.php中的include导致属性文件不能正常加载

我该如何解决这个问题?请注意,我不能修改b.phpb.properties,否则显然这将是一个微不足道的问题。

PHP提供chdir函数用于更改PHP的当前目录。我认为你可以将PHP的当前目录更改为b.p p的文件夹,就在包含b.p p之前,并在包含之后设置它。

a.php
-----
<?php
echo "one";
chdir('/path/to');
include("b.php");
chdir(__DIR__);
echo "three";